我只是称呼为
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;