Request.QueryString 问题

我前面点击 后面获取参数 Request.QueryString["title"] 当前面的title是字母 字符串的时候,获取值很正常,当中文时两个字的,比如“天气” 获取值的时候也是正常的,可当是“怎么样”三个中文字时就取不全 只取到”怎么“两字(我添加监视看到的) 可浏览器地址栏却title=怎么样,可以看到。。请指点。。。。。怎么回事
2026年09月25日 18:53
有6个网友回答
网友(1):

三个字符 地址栏不可能超长的 我刚试了 都没问题
要不你把你的代码发一下

后台获取前台页面title :this.Header.Title;
传到其他页面去:Response.Redirect("showdialog.aspx?title="this.Header.Title);
或者编码一下:
Response.Redirect("showdialog.aspx?title="+Server.HtmlEncode(this.Header.Title));
解码
Response.Write(Server.HtmlDecode(Request.QueryString["title"]));

网友(2):

是不是参数很多呢?
string title=Request.QueryString["title"] == null ? "" : Request.QueryString["title"].toString();
一般就是这样活得参数的

网友(3):

由于编码问题

可以先用Server .HtmlEncode ()编码,在用Server .HtmlDecode ()解码就没问题了

网友(4):

地址栏传参一般都不直接传中文的,不只会丢失字节,也会乱码的,不知道楼主的参数是直接传过来的还是后台代码过来的,如果直接页面传的话,url用JS 中的 encodeURIComponent 或 encodeURI 方法编码,后台的话用Server.HtmlEncode方法编码,解码的话用Server.HtmlDecode就行了!!!

网友(5):

是不是地址栏超过了长度?
可以用session

网友(6):

是不是字符串定义的长度不够呢?