Request.UrlReferrer中文乱码解决方法

 更新时间:2012年12月23日 15:41:06   作者:  
参考了网络大部分的解决方案,没一个能搞定的,如果穷途末路,试试下面的方法:将获得的前一页面的URL分成两段,后面的参数部分进行编码(直接对URL编码是不行的),然后再组合一下就可以了,需要的朋友可以了解下
参考了网络大部分的解决方案,没一个能搞定的,如果穷途末路,试试下面的方法:
将获得的前一页面的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属性了,所以就会抛出一个异常

相关文章

  • Asp.Net Core中服务的生命周期选项区别与用法详解

    Asp.Net Core中服务的生命周期选项区别与用法详解

    这篇文章主要给大家介绍了关于Asp.Net Core中服务的生命周期选项区别与用法的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-11-11
  • ASP.NET MVC中jQuery与angularjs混合应用传参并绑定数据

    ASP.NET MVC中jQuery与angularjs混合应用传参并绑定数据

    这篇文章主要介绍了ASP.NET MVC中jQuery与angularjs混合应用传参并绑定数据,需要的朋友可以参考下
    2017-06-06
  • ASP.NET如何使用web服务的会话状态

    ASP.NET如何使用web服务的会话状态

    这篇文章主要介绍了ASP.NET如何使用web服务的会话状态,使用一个GridView中的会话对象来展示最近的计算结果,感兴趣的小伙伴们可以参考一下
    2015-11-11
  • Asp.Net HttpHandler 妙用

    Asp.Net HttpHandler 妙用

    很多时候,我们新建一个xxx.aspx页和xxx.aspx.cs文件,不过是为了实现一个很简单的功能
    2009-04-04
  • ASP.NET MVC学习之NuGet在VS中的运用浅谈

    ASP.NET MVC学习之NuGet在VS中的运用浅谈

    这篇文章主要给大家介绍了关于ASP.NET MVC学习之NuGet在VS中运用的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧。
    2018-01-01
  • 通过.net core调用so文件的方法

    通过.net core调用so文件的方法

    工作中需要在linux上监控系统空闲时间,但是没有找到C#代码,只找到C的代码,所以准备将C文件编译为so然后用P/invoke调用,这篇文章主要介绍了如何通过.net core调用so文件,需要的朋友可以参考下
    2023-08-08
  • .Net防sql注入的几种方法

    .Net防sql注入的几种方法

    这篇文章主要给大家总结介绍了关于.Net防sql注入的几种方法,文中通过示例代码介绍的非常详细,对大家学习或者使用.Net具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-06-06
  • 浅析ASP.NET万能JSON解析器

    浅析ASP.NET万能JSON解析器

    这篇文章主要是对ASP.NET万能JSON解析器进行了详细的分析介绍,需要的朋友可以过来参考下,希望对大家有所帮助
    2013-12-12
  • 高仿Windows Phone QQ登录界面实例代码

    高仿Windows Phone QQ登录界面实例代码

    这篇文章主要介绍了高仿Windows Phone QQ登录界面实例代码,有需要的朋友可以参考一下
    2013-12-12
  • ASP.NET登录注册页面实现

    ASP.NET登录注册页面实现

    这篇文章主要介绍了ASP.NET登录注册页面如何实现,感兴趣的小伙伴们可以参考一下
    2015-10-10

最新评论