一个关于UrlReferrer的小问题 (asp.net 1.1)
2007-04-26 13:48
375 查看
在ASP.NET 1.1 页面中
页面a.aspx 中将汉字做为k的参数传递 如: a.aspx?key=%ca%d3 (参数经过编码) ,b.aspx使用Request.UrlReferrer来获取上一页的地址.
汉字编码方式如下:
1HttpUtility.UrlEncode(key.Text.Trim(),System.Text.Encoding.GetEncoding("gb2312"));
WEB.CONFIG设置如下:
<globalization
requestEncoding="gb2312"
responseEncoding="gb2312"
/>
需要获得的参数的页面(b.aspx)代码如下:
Response.Write("UrlReferrer="+Request.UrlReferrer.ToString()+"<br />Query="+Request.UrlReferrer.Query);
操作方法: 从a.aspx点了一个链接到b.aspx
输出结果居然是这样:
UrlReferrer=http://localhost/a.aspx?key=??
Query=?key=%ca%d3
这里的 key=%ca%d3 是我想要的结果,但为什么Request.UrlReferrer.ToString()获得的Key却是问号?
Request.UrlReferrer.ToString()和Request.UrlReferrer.Query 在编码上难道有什么区别吗?
------------------------------------------------------------------------------------------
根据 awuzi 的提示我又做了以下尝试(主要是验证使用ToString()和不使用的区别):
将b.aspx的代码改成如下所示:
Response.Write("UrlReferrer="+Request.UrlReferrer.ToString()+"<br />Query="+Request.UrlReferrer.Query+"<br />Query.ToString()="+Request.UrlReferrer.Query.ToString());
输出结果如下:
UrlReferrer=http://localhost/a.aspx?key=??
Query=?key=%ca%d3
Query.ToString()=?key=%ca%d3
这说明使用ToString()的和没使用的结果是一样的.
请各位帮忙分析一下,谢谢!
页面a.aspx 中将汉字做为k的参数传递 如: a.aspx?key=%ca%d3 (参数经过编码) ,b.aspx使用Request.UrlReferrer来获取上一页的地址.
汉字编码方式如下:
1HttpUtility.UrlEncode(key.Text.Trim(),System.Text.Encoding.GetEncoding("gb2312"));
WEB.CONFIG设置如下:
<globalization
requestEncoding="gb2312"
responseEncoding="gb2312"
/>
需要获得的参数的页面(b.aspx)代码如下:
Response.Write("UrlReferrer="+Request.UrlReferrer.ToString()+"<br />Query="+Request.UrlReferrer.Query);
操作方法: 从a.aspx点了一个链接到b.aspx
输出结果居然是这样:
UrlReferrer=http://localhost/a.aspx?key=??
Query=?key=%ca%d3
这里的 key=%ca%d3 是我想要的结果,但为什么Request.UrlReferrer.ToString()获得的Key却是问号?
Request.UrlReferrer.ToString()和Request.UrlReferrer.Query 在编码上难道有什么区别吗?
------------------------------------------------------------------------------------------
根据 awuzi 的提示我又做了以下尝试(主要是验证使用ToString()和不使用的区别):
将b.aspx的代码改成如下所示:
Response.Write("UrlReferrer="+Request.UrlReferrer.ToString()+"<br />Query="+Request.UrlReferrer.Query+"<br />Query.ToString()="+Request.UrlReferrer.Query.ToString());
输出结果如下:
UrlReferrer=http://localhost/a.aspx?key=??
Query=?key=%ca%d3
Query.ToString()=?key=%ca%d3
这说明使用ToString()的和没使用的结果是一样的.
请各位帮忙分析一下,谢谢!
相关文章推荐
- asp.net 1.1中url重写的问题
- asp.net中关于嵌套的一个问题
- 一个关于NTFS权限/DTS/ASP.Net的问题解决过程
- ASP.NET中一个简单的关于Session的问题的解决
- 刚刚开始搞asp.net2。0好多问题啊,,,先贴一个关于gridview的帖子先
- asp.net1.1中url重写的问题
- ASP.Net 返回上一个页面(Request.UrlReferrer)
- 关于url参数中文乱码的问题 【asp.net C#】
- asp.net 1.1中url重写的问题
- 关于asp.net页面通过url传值,中文出现乱码的一些有趣的问题~~~
- ASP.NET 页面间URL在IE中传中文乱码问题 被这个问题坑了一个下午~汗颜。
- 关于asp.net1.0升级到asp.net2.0时发现的一个有趣的问题
- [转]ASP.NET1.1中关于验证控件和自定义弹出确认窗口的冲突问题
- 刚刚开始搞asp.net2。0好多问题啊,,,先贴一个关于gridview的帖子先
- Javascript与ASP.NET(一般处理程序)关于URL(get方式)传递中文乱码问题的解决方案
- 关于ASP.NET“操作必须使用一个可更新的查询”问题的解决方法
- Javascript与ASP.NET(一般处理程序)关于URL(get方式)传递中文乱码问题的解决方案
- 关于用IE7.0开发ASP.NET的一个小问题
- sql server 关于表中只增标识问题 C# 实现自动化打开和关闭可执行文件(或 关闭停止与系统交互的可执行文件) ajaxfileupload插件上传图片功能,用MVC和aspx做后台各写了一个案例 将小写阿拉伯数字转换成大写的汉字, C# WinForm 中英文实现, 国际化实现的简单方法 ASP.NET Core 2 学习笔记(六)ASP.NET Core 2 学习笔记(三)
- asp.net 1.1中url重写的问题!!!