我原来用QueryString传真很好的,今天竟然有问题,值是传过来了,但在后面加了个“口”,应该是乱码之类的。哎,终于在网上查到解决方案了。
答案:
1.在Web.config中设置: 这样写在URL中显示的为中文
<system.web> <globalization requestEncoding="gb2312" responseEncoding="gb2312" culture="zh-CN" fileEncoding="gb2312" /> </system.web> |
2.传递中文之前,将要传递的中文参数进行编码,在接收时再进行解码。
在aspx页面直接进行解码,方便快捷,URL中显示的不是中文
<a target="_blank" href='DepInfoList.aspx?ProName=<%# Server.UrlEncode(Eval("ProName").ToString())%>'> <%# Eval("ProName")%></a>
>> 进行传递
string Name = "中文参数";
Response.Redirect("B.aspx?Name="+Server.UrlEncode(Name)) ;
>> 进行接收
string Name = Request.QueryString["Name"];
Response.Write(Server.UrlDecode(Name)) ;