我只是称呼为

window.location = '../MyController/MyAction?campId=' + campId + '&campName=' + campName;

并在行动中以
[HttpGet]
    public ActionResult MyAction(int campId, string campName)
    {

...

我的问题是来自js传递campName值'Anish#',但实际上仅获得'Anish'。 #后面的值表示不采取任何措施。我该如何解决。

任何建议表示赞赏。

最佳答案

您需要使用 encodeURIComponent javascript函数对所有参数进行URL编码:

window.location.href = '../MyController/MyAction?' +
    'campId=' + encodeURIComponent(campId) +
    '&campName=' + encodeURIComponent(campName);

或者,如果您使用的是jQuery,则可以使用 $.param() 函数,该函数将正确地对参数值进行URL编码:
var parameters = $.param({ campId: campId, campName: campName });
window.location.href = '../MyController/MyAction?' + parameters;

09-25 17:23