asp.net url传递中文的解决方法

发布时间:2019-08-08编辑:脚本学堂
asp.net程序如何在url中传递中文呢?有遇到类似问题的朋友,可以看下这篇文章,或许可以解决您的问题。

asp.net程序如何在url中传递中文呢?有遇到类似问题的朋友,可以看下这篇文章,或许可以解决您的问题。

1、配置web.config
 

复制代码 代码示例:
<system.web>
......
<globalization requestEncoding='gb2312' responseEncoding='gb2312' culture='zh-CN' fileEncoding='gb2312' />
......
</system.web>

2.传递中文之前,将要传递的中文参数先编码,在接收时再解码。
 

复制代码 代码示例:
>> 进行传递
string Name = '中文参数';
Response.Redirect('B.aspx?Name='+Server.UrlEncode(Name));
>> 进行接收
string Name = Request.QueryString['Name'];
Response.Write(Server.UrlDecode(Name));

3.如果是从 .HTML 文件向 .Aspx 文件进行传递中文参数(也就是不从后台用 Redirect()方法进行 Url 转换)。同样要将传递的中文参数先编码,在接收时再解码。
 

复制代码 代码示例:
>> 进行传递
<script language='javascript'>
function GoUrl()
{
var Name = '中文参数';
location.href = 'B.aspx?Name='+escape(Name);
}
</script>
<body onclick='GoUrl()'>
>> 进行接收
string Name = Request.QueryString['Name'];
Response.Write(Server.UrlDecode(Name));

总结:
普通状况下,配置web.config文件即可满足需求或解决问题。
如果用 JavaScript 调用 webservice(往webservice里传递中文参数),此时设置 web.config 文件是无效的,请注意这一点。