【问题标题】:How to check is page is redirected from previous page or not in asp.net如何检查页面是否从上一页重定向或不在asp.net中
【发布时间】:2012-01-12 11:47:07
【问题描述】:

在第 1 页上的按钮单击中,我使用 msgid 将页面重定向到第 2 页,并在页面加载的第 2 页中检查上一页是否有效。所以我检查了(this.Page.PreviousPage != null),但这总是空的,页面被重定向到第1页。我这样做是为了没有人可以更改url中的msgid。我该如何解决这个问题。谢谢

第1页:

  int msgid = Convert.ToInt32(Hidden_MsgID.Value);
    string url = "Page2.aspx?MsgID=" + msgid;
    Response.Redirect(url);      

第2页:

if (this.Page.PreviousPage != null)
                {
                }
                else
                {
                    Response.Redirect("Page1.aspx");
                }

我使用 server 而不是 response.redirect。转移,它的工作原理 Server.Transfer(string.Format("ResponseMetric.aspx?MsgID={0}", msgid));

【问题讨论】:

    标签: c# asp.net


    【解决方案1】:

    PreviousPage 仅适用于 Server.Transfer 和/或跨页发布:http://msdn.microsoft.com/en-us/library/system.web.ui.page.previouspage.aspx

    您的解决方案的元素可用here:与this.Request.UrlReferrer一起工作

    【讨论】:

    • @Murthy 是否发生异常 - 哪一行/操作导致它?
    【解决方案2】:

    也许您可以使用会话变量来检查是否也遵循流程.. 在重定向之前,您可以设置

    Session["PREVPAGE"] = "fooo.aspx";
    

    并在第二页的页面加载中检索它..

    【讨论】:

    • Session 并非 100% 可靠 - 如果同时进行回收会怎样?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-21
    相关资源
    最近更新 更多