当前位置: 移动技术网 > IT编程>开发语言>.net > Request.UrlReferrer中文乱码解决方法

Request.UrlReferrer中文乱码解决方法

2017年12月12日  | 移动技术网IT编程  | 我要评论

520dnf,diy笔筒,曼扎城堡红葡萄酒

参考了网络大部分的解决方案,没一个能搞定的,如果穷途末路,试试下面的方法:
将获得的前一页面的url分成两段,后面的参数部分进行编码(直接对url编码是不行的),然后再组合一下就可以了。
复制代码 代码如下:

if(!page.ispostback)
{
reurl = page.request.urlreferrer.tostring().split('?')[0].tostring() + httputility.urlencode(page.request.urlreferrer.query,system.text.encoding.getencoding("gb2312"));
if (reurl == null || reurl == "")
{
reurl = httpcontext.current.request.url.pathandquery ;
}
viewstate["reurl"] = reurl;
}

另外注意点的是,返回到前一页时需要进行解码
response.redirect(server.urldecode((string)viewstate["reurl"].tostring()));
在参考解决方案发现了一段比较重要的代码,特别是对于安全性较高的网站来说可能有的作用。

1,在用户改变地址栏的url的参数的时候,提示用户无权执行此操作
把下面代码放在page_load事件里
复制代码 代码如下:

try
{
string strtemp = request.urlreferrer.pathandquery ;
}
catch
{
throw new exception("你不能修改参数!") ;
}

说明:此方法属于"偏门"方法,利用的是,如果用户修改url的参数,request.urlreferrer
将会得到null,null当然不可能有pathandquery属性了,所以就会抛出一个异常

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网