今天在做一个无刷新判断公司名称,是否重复的时候,发现一个问题就是通过javascript传到asp.net页面的值是乱码。以前没有发现。因为 以前做测试时,都是用英文字符进行的测试。今天输入汉字后,发现有这种问题。感觉可能是编码的问题。就上网查了一下。找到一些方法,如下:
1.设置web.config文件
进行传递
string Name = "中文参数";
Response.Redirect("B.aspx?Name="+Server.UrlEncode(Name));
进行接收
string Name = Request.QueryString["Name"];
Response.Write(Server.UrlDecode(Name));
3.javascript对asp.net页面传值。
1.设置web.config文件
<
system.web
>
< globalization requestEncoding = " gb2312 " responseEncoding = " gb2312 " culture = " zh-CN " fileEncoding = " gb2312 " />
</ system.web >
2.asp.net对asp.net页面传值
< globalization requestEncoding = " gb2312 " responseEncoding = " gb2312 " culture = " zh-CN " fileEncoding = " gb2312 " />
</ system.web >
进行传递
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>
function escode()
{
location.href ="B.aspx?Name="+escape(Name);
}
< / script>