当前位置: 首页 > 图文教程 > 网络编程 > ASP.NET > asp.net下url传递中文的解决方案

ASP.NET
asp.net 无重复随机数代码
asp.net(C#)中上传大文件的几中常见应用方法
asp.net AJAX实现无刷新获得数据
C#中发送邮件代码
asp.net(c#) RSS功能实现代码
asp.net窗体操作总结
ASP.NET 水晶报表打印功能实现代码
ASP.Net 图片存入数据库的实现代码
让Silverlight 2.0动画动起来Making Silverlight 2.0 animation Start(不能运动原因)
asp.net Reporting Service在Web Application中的应用
C# 文件上传 默认最大为4M的解决方法
asp.net 购物车实现详细代码
asp.net repeater实现批量删除时注册多选框id到客户端
asp.net aspnetpager分页统计时与实际不符的解决办法
iis 服务器应用程序不可用的解决方法
asp.net button 绑定多个参数
asp.net Ajax 安装与卸载方法
Ajax Throws Sys.WebForms.PageRequestManagerErrorException with Response.Redirect的解决方法
asp.net 两个不同页面的传值
C# 可空类型分析

ASP.NET 中的 asp.net下url传递中文的解决方案


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 151 ::
收藏到网摘: n/a

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 文件好象无效。