.net页面间传值出现乱码
.net页面间传值出现乱码
.net页面间传值出现乱码,解决方法。
传值后URL上如果传的是中文则出现乱码,非中文就正常。
经过研究后,发现有几种办法可以解决,拿出来跟大家分享一下,说的不好还请大家多多指教啊~ 哈哈
1、设置web.config文件
在<system.web> </system.web>节点中,加入<globalization requestEncoding="gb2312" responseEncoding="gb2312" culture="zh-CN" fileEncoding="gb2312" /> 。效果如下:
<system.web>
<globalization requestEncoding="gb2312" responseEncoding="gb2312" culture="zh-CN" fileEncoding="gb2312" />
</system.web>
2、asp.net对asp.net页面传值
进行传递处:
string Name = "中文参数";
Response.Redirect("B.aspx?Name="+Server.UrlEncode(Name));
进行接收处:
string Name = Request.QueryString["Name"];
Response.Write(Server.UrlDecode(Name));
3、javascript对asp.net页面传值
<script language="javascript">
function escode()
{
location.href ="B.aspx?Name="+escape(Name);
}
</script>
在asp.net页面中正常使用Request.QueryString("Name").toString()就可以得到正确的中文了