不知道大家有没有遇到客户提出这样的要求:在用户改变地址栏的URL的参数的时候,提示用户无权执行此操作。有的客户更麻烦,要求可以改变参数,但是输入的参数错了,要跳到统一的出错页面。我个人觉得这些需求比较无聊,但是客户的意见也是要尊重的。下面是我在网上看到的解决办法:
把下面代码放在Page_Load事件里
try
{
string strTemp = Request.UrlReferrer.PathAndQuery ;
}
catch
{
throw new Exception("你不能修改参数!") ;
}
说明:此方法属于"偏门"方法,利用的是,如果用户修改URL的参数,Request.UrlReferrer
将会得到null,null当然不可能有PathAndQuery属性了,所以就会抛出一个异常
把下面代码放在Page_Load事件里
try
{
string strTemp = Request.UrlReferrer.PathAndQuery ;
}
catch
{
throw new Exception("你不能修改参数!") ;
}
说明:此方法属于"偏门"方法,利用的是,如果用户修改URL的参数,Request.UrlReferrer
将会得到null,null当然不可能有PathAndQuery属性了,所以就会抛出一个异常
但是UrlReferrer只是客户端上次请求的 URL,上面的解决方法起码有两个问题,1。直接输网址是不行的,因为没有产生上次的url;2。如果是open的窗口也不行。