通过 ASP.NET MVC 4 中的查询字符串传递特殊字符

Pass special character through query string in ASP.NET MVC 4

当我尝试传递一些特殊字符时,虽然在 Ajax post 方法的 URL 属性 中查询字符串,但似乎发生了一些错误.这意味着在 ASP.NET MVC 4.

中点击控制器操作时我不会得到正确的特殊字符

我的密码是

var temp=temp@#$#%#%#979

url=(Controller/Action/id/name?departname=+temp);

我不熟悉 ASP.net,但是大多数语言都要求您 URL 对要用作 URL.[=11= 的一部分的字符串进行编码]

例如: https://msdn.microsoft.com/en-us/library/4fkewx0t%28v=vs.110%29.aspx

我希望这能帮助您朝着正确的方向前进。

request from a script function from a cshtml formajax

如果您从 javascript 发出 ajax 请求,则使用 encodeURIComponent:-

var temp = encodeURIComponent('temp@#$#%#%#979'); //temp%40%23%24%23%25%23%25%23979

使用HttpUtility.UrlEncode对参数进行编码

var temp = temp@#$#%#%#979
HttpUtility.UrlEncode(temp)
url = (Controller/Action/id/name?departname=+temp);

并使用Server.UrlDecode解码控制器中的参数

var Depart = Server.UrlDecode(Request.QueryString["DepartmentName"]);