日期:2014-05-17  浏览次数:20542 次

有关.NET URL传参,中文参数后的&连接符丢失




如图
图1是连接及参数
图2是接收到的参数,看图2课见,userid 和checked中间的&连接符没了。

奇怪的是同样的连接在另外一个系统则没有问题。

请问在不处理图1连接的情况下,如果解决这个问题。

------解决方案--------------------
好神奇啊
------解决方案--------------------
Server.UrlEecode() 传
Server.UrlDecode() 接

看看这样丢不丢&
------解决方案--------------------
应该是中文编码的问题。用子夜的方法试试吧。
------解决方案--------------------
探讨
Server.UrlEecode() 传
Server.UrlDecode() 接

看看这样丢不丢&

------解决方案--------------------
?encodeURI(中文参数)&checked=aa
------解决方案--------------------
探讨
Server.UrlEecode() 传
Server.UrlDecode() 接

看看这样丢不丢&

------解决方案--------------------
1.不推荐url中传中文字符
2.将中文参数编码
3.或者将中文参数放末尾(即:?checked=aa&user=中文参数)
------解决方案--------------------
Server.UrlEecode() 传
改为
Server.UrlEncode()
给打错了。
------解决方案--------------------
这个本身应该是中文乱码问题造成的。
如果按你所说,别的系统没问题,而且你要求不改图1,我想问题肯定在于你的web.config配置的问题。
在web.config中配置你的编码,应该能解决此问题。
------解决方案--------------------
ie浏览器有一个选项,发送 utf-8 url,看看你的这2个系统下,是否采用的相同的浏览器设置
------解决方案--------------------
在HTML页面
例如
var url="a.aspx?username="+encodeURI(中文参数);

后会自动解码