管理页面序列

时间:2008-11-27 15:35:20

标签: asp.net

在ASP.NET 3.5网站中,我们有一个相对标准的付款结帐程序,其中包含需要按顺序访问的多个页面(购物篮,付款详细信息等)

每个页面都有一个“继续”按钮,可以重定向到序列中的下一页。

我想管理页面序列,以便:

  1. 我可以有一个Master页面,它定义了“Continue”按钮及其代码隐藏的OnClick事件处理程序
  2. 如果用户尝试不按顺序访问某个页面(例如,通过在浏览器中直接输入网址),则会将其重定向到正确的页面
  3. 这个页面序列很好地定义在我的代码中的一个地方(例如在枚举中)

2 个答案:

答案 0 :(得分:4)

为什么不使用ASP.NET Wizard控件?

或者(我还没有尝试过,所以我不能说它有多好),你可以使用Windows工作流来定义一个顺序工作流程并让控制订单页面出现。有一篇文章在{ {3}}会以这种方式执行此操作。

答案 1 :(得分:1)

检查每个Page_Load方法中的HttpRequest.UrlReferrer变量......

http://msdn.microsoft.com/en-us/library/system.web.httprequest.urlreferrer.aspx

...不要忘记检查空值!你可以根据它们的来源将它们反弹到它们应该的位置。

protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
    {
        Session["PreviousPage"] = Request.UrlReferrer.ToString();
        ...
    }
    else
    {
        ...
    }
}