引用网址无效

时间:2013-07-24 19:15:25

标签: c# asp.net .net

我正在尝试使用以下代码捕获引用URL。重定向到页面不起作用。请帮我解决问题。

  if (!Page.IsPostBack)
    {
        ViewState["PreviousPage"] = Request.ServerVariables["HTTP_REFERER"];
    }

  protected void btnLogin_Click(object sender, EventArgs e)
  {
    if (ViewState["PreviousPage"] != null)
       {
          Response.Redirect(ViewState["PreviousPage"].ToString());
       }
  }

4 个答案:

答案 0 :(得分:1)

我不确定它会有所帮助,但您也可以尝试使用请求对象的url referrer属性来访问它。

Request.UrlReferrer

答案 1 :(得分:1)

在我看来,你可能正在重建轮子。

默认情况下,有一种内置的.NET方法可以使用表单身份验证。您将获得一个查询字符串,以自动将您重定向到应用程序中的页面。您在未登录时点击了某个页面,该应用会在您登录前记住您想去的地方,并在您进行身份验证时将其发送给您。

这是你想要做的吗?

答案 2 :(得分:0)

这可能有效

的Response.Redirect((的ViewState [ “|上一页”] +) “的aspx。”);

答案 3 :(得分:0)

这里可能会发生一些事情。

如果您直接访问登录页面,则引用程序始终为null。因此,请确保您的代码可以处理它。

您尚未说明if (!Page.IsPostBack)的位置,如果它位于Page_Init,您的问题很可能是ViewState["PreviousPage"] = Request.ServerVariables["HTTP_REFERER"];在回发期间不会保留ViewState

您可以通过将支票移至Page_Load或将ViewState.SetDirty(true);添加到Page_InitComplete来解决此问题。

另一个可能的问题是,出于隐私原因,某些浏览器会删除HTTP_REFERER标头。再次,确保您的代码处理值为null。