如果您必须在 mvc 中提供类似于表单输入体验的向导,您将如何抽象页面流?

有帮助吗?

解决方案

研究重定向后获取模式。

http://weblogs.asp.net/mhawley/archive/tags/MVC/default.aspx
http://devlicio.us/blogs/tim_barcz/archive/2008/08/22/prg-pattern-in-the-asp-net-mvc-framework.aspx

将其与强大的域模型(用于跟踪步骤或表单完成状态或任何您所说的)一起使用,您就可以了。

其他提示

为了保留这些步骤,您可以实现页面流操作过滤器,它提供如下所示的体验:

[RequiredStep(FlowStart = true)]
public ActionResult Confirm()
{
    return View();
}

[RequiredStep (PreviousStep = "Confirm")]
public ActionResult ExecuteOrder()
{
    return RedirectToAction("ThankYou");
}

[RequiredStep(PreviousStep = "ExecuteOrder")]
public ActionResult ThankYou()
{
    return View();
}

我将页面流留给了我认为它所属的视图,因此不同的视图可能有不同的页面流(例如对于桌面浏览器客户端或手机客户端等)我将其写在我的博客上: 使用 ASP.Net MVC 的 RESTful 向导......也许?

public class CreateAccountWizardController : Controller
{
   public ActionRresult Step1()
   {
   }


   public ActionResult Step2()
   {
   }
}

有几种方法,为向导过程的每个步骤创建一个操作,或者创建一个传递到操作方法的参数。喜欢 这将使您知道向导处于什么状态。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top