繁体   English   中英

ASP.Net UrlReferrer错误

[英]ASP.Net UrlReferrer Error

我有以下代码:

        protected void Page_Load(object sender, EventArgs e)
        {
            if (Request.UrlReferrer.Host != "www.test.com")
            {
                Response.Redirect("~/redirect.aspx");
            }
        }

我的目标是,如果从if语句中的URL以外的URL访问该页面,则无法访问该页面,但是在运行项目时出现以下错误:发生类型为'System.NullReferenceException'的异常

为什么会有NUll异常? 如果为null,则应仅执行我在Page_Load中拥有的代码...。请告知是否有另一种方法可以执行我正在尝试的操作,或者是否可以处理Null Exception错误。 谢谢。

当没有引荐来源网址时,例如,当您直接在浏览器中打开此页面(作为第一页),或者手动向提琴手请求时,Request.UrlReferrer可以为null。因此,您应该先检查Request.UrlReferrer!= null还是处理Request.UrlReferrer为null时的情况。

您可以尝试以下方法:

protected void Page_Load(object sender, EventArgs e)
        {
            if (Request.UrlReferrer == null || Request.UrlReferrer.Host != "www.test.com")
            {
                Response.Redirect("~/redirect.aspx");
            }
        }

此代码将检查您的网页是否来自www.test.com,是否在没有引荐来源网址的情况下没有直接作为首页访问。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM