试图检查urlreferrer是否为null

时间:2012-08-07 11:50:02

标签: c# asp.net-mvc

我使用以下代码行检查UrlReferrer是否为null

@if (Request.UrlReferrer.AbsolutePath == null)

它只是给我一个错误:

System.NullReferenceException: Object reference not set to an instance of an object.

我是asp的新手并且已经在寻找,但似乎找不到任何可以回答我问题的东西。令我困惑的是,如果我像这样替换null:

@if (Request.UrlReferrer.AbsolutePath == "/Home")

...而AbsolutePath确实是/ Home,代码工作得很好,我肯定在这里要求同样的东西,但null

2 个答案:

答案 0 :(得分:10)

如果没有referrer,

Request.UrlReferrer 为null,这使得您对 Request.UrlReferrer.AbsolutePath (null对象上的属性)的引用抛出空引用例外。

相反,尝试;

@if (Request.UrlReferrer == null)

答案 1 :(得分:1)

如果您需要拥有当前页面的当前路径,可以使用以下路径:

var absoluteUrl = System.Web.HttpContext.Current.Request.Url.AbsoluteUri;
string returnUrl = absoluteUrl.Replace(System.Web.HttpContext.Current.Request.Url.PathAndQuery, "/");