当前位置:编程学习 > C#/ASP.NET >>

asp.net 中Response.Redirect得参数的大小

我在项目中用Response.Redirect("a.aspx?aa=lihuaizhi");跳转页面并传值
但是如果aa="sdfsdfsd"传的值是字符串的话没问题
但是如果aa="逆势书第十是十四"传的值是汉字的话就只能获取四个汉字
这到底是什麽问题 --------------------编程问答-------------------- 你需要编码传送阿 --------------------编程问答-------------------- HttpUtility.HtmlEncode(URL) --------------------编程问答-------------------- Server.UrlDecode("逆势书第十是十四"); --------------------编程问答-------------------- 那你把web.config 中的
<globalization 
            requestEncoding="utf-8" 
            responseEncoding="utf-8" 
   />
更改为:<globalization 
            requestEncoding="gb2312" 
            responseEncoding="gb2312" 
   />
但是即使是 这样也不一定能接受完,因为地址栏中的参数长度最长为255个字符。 --------------------编程问答-------------------- 一个方法是修改web.config,添加如下代码:

<globalization requestEncoding="gb2312" responseEncoding="gb2312"/> 


另外一个方法是在QueryString中先用它对汉字编码: Server.UrlEncode(汉字).ToString(); 
例如:http://localhost/test.aspx?lanmu=Server.UrlEncode(汉字).ToString()
--------------------编程问答-------------------- 编码传送。 --------------------编程问答-------------------- 方法1: 

web.config里修改   (在System节点里面) 
<globalization   requestEncoding="GB2312"   responseEncoding="GB2312"   />   


方法2: 

传送时要将要传送的中文字符用Server.UrlEncode方法编码,   

接收时使用Server.UrlDecode来解码.   
--------------------编程问答-------------------- 同意楼上.
补充:.NET技术 ,  ASP.NET
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,