6

我正在使用以下代码行来检查是否UrlReferrernull

@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

4

2 回答 2

11

如果没有引用者,则Request.UrlReferrer为 null,这会使您对Request.UrlReferrer.AbsolutePath(空对象上的属性)的引用引发空引用异常。

相反,尝试;

@if (Request.UrlReferrer == null)
于 2012-08-07T11:55:03.750 回答
1

如果您需要当前页面的当前路径,您可以使用这个:

var absoluteUrl = System.Web.HttpContext.Current.Request.Url.AbsoluteUri;
string returnUrl = absoluteUrl.Replace(System.Web.HttpContext.Current.Request.Url.PathAndQuery, "/");
于 2015-01-13T13:55:56.260 回答