【问题标题】:How to destroy query string after redirecting from one page to another page on page load event?在页面加载事件中从一个页面重定向到另一页面后如何销毁查询字符串?
【发布时间】:2015-11-30 06:58:38
【问题描述】:

我有 2 个页面名称为:

  • Abc.aspx
  • pqr.aspx

现在在 Abc.aspx 的页面加载中,我正在这样做:

protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                if (!string.IsNullOrEmpty(Request.QueryString["Alert"]))
                {
                    if (Request.QueryString["Alert"] == "y")
                    {
                      //Here on redirection from Pqr.aspx i will display Javascript alert that your "Your data save"
                    }
                }
                else
                {
                        //Dont do anything
                 }
            }

        }

现在我从 pqr.aspx 页面重定向到 Abc.aspx 并在按钮单击时传递查询字符串:

     protected void Save_Click(object sender, EventArgs e)
     {
        //saving my data to database.
        Response.Redirect("~/Abc.aspx?Alert=yes");
     }

但是发生的情况是,如果有人在浏览器中输入这样的 url,那么仍然会出现此警报:

http://localhost:19078/Abc.aspx?Alert=yes

然后这个javascript警告框仍然出现。

我想要的是从我的 Pqr.aspx 页面重定向后只有这个警报应该出现

如何做到这一点??

【问题讨论】:

    标签: c# asp.net query-string postback postbackurl


    【解决方案1】:

    Asp.net中有一个名为Request.UrlReferrer的对象。通过这个属性,你可以得到上一页,从那里你来到当前页

    protected void Page_Load(object sender, EventArgs e)
    {
          if (!IsPostBack)
          {
               if (!string.IsNullOrEmpty(Request.QueryString["Alert"]))
               {
                   if (Request.QueryString["Alert"] == "y" && Request.UrlReferrer != null && Request.UrlReferrer.LocalPath == "/pqr.aspx") // if the root is same
                   {
                       //Here on redirection from Pqr.aspx i will display Javascript alert that your "Your data save"
                   }
                   else
                   {
                            //Dont do anything
                   }
               }
           }
    }
    

    【讨论】:

    • 在这个 Request.UrlReferrer.ToString() == "your page"."Your page" 是指页面的名称还是我应该在其中包含路径??
    • @Learning 它为您提供了许多确定前一个页面的方法。尝试调试该对象。我已经编辑了我的答案,查看确定前一个页面的多种方法之一
    • 知道了。谢谢。我只是在找这个
    • 我正在这样做:if (Request.UrlReferrer.ToString()!=null) 现在当我在新选项卡中输入 url 时出现此错误:if (Request.UrlReferrer.ToString() !=null)。那么如何处理null错误呢?
    • @Learning first if (Request.UrlReferrer != null) 检查,然后是你的页面
    猜你喜欢
    • 2017-06-08
    • 1970-01-01
    • 2020-05-16
    • 2011-08-22
    • 2019-11-04
    • 1970-01-01
    • 2015-08-14
    • 2016-12-14
    • 1970-01-01
    相关资源
    最近更新 更多