您的位置:首页 > 其它

URL参数的加号等特殊字符的处理

2017-04-24 18:41 218 查看
之前没有遇见过,这样的问题,所以都没有考虑过。有一个参数里面有一个“+”号,接收的时候+不见了,如address="上海黄埔+上海浦东",接收的时候变成“上海黄埔上海浦东”了。

string url = "/xxx/xxx.aspx?xx=" + xx+ "&name=" + contextWai.Server.UrlEncode(name) + "&haha=" + contextWai.Server.UrlEncode(haha) + "&bedName=" + contextWai.Server.UrlEncode(bedName) + "&star=" + star + "&address=" + contextWai.Server.UrlEncode(address) + "&pic=" + contextWai.Server.UrlEncode(pic) + "&zaocan=" + contextWai.Server.UrlEncode(zaocan) + "&kuandai=" + contextWai.Server.UrlEncode(kuandai) + "&mianji=" + contextWai.Server.UrlEncode(mianji) + "&price=" + price + "&priceId=" + priceId + "&rid=" + rid + "&sign=";


这个是我用ajax在一般处理程序里加上对称加密签名的。编码一下即可,Server.UrlEncode(),接收的时候不用解码Server.UrlDecode().

function login(url){
location.href=url;
}


之前我把上面的URL直接拼接login方法的,结果不行。跳转过去的时候,参数变成了跟没有编码时候的一样了。

所以,得把他赋值给控件的属性,调用方法的时候再获取。

 

如果是用表单提交,应该要加上

<meta http-equiv="Content-Type" content="text/html; charset=gb2312">

 

如果在在js里面拼接

JS:var url = "/xxx/xxx.aspx?xx=" + escape(xx);
C#:string xx=Server.UrlDecode(Request.QueryString["Name"]);

 

 

 

 

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: