我如何处理MVC中的页面流(特别是asp.net)
时间:2020-03-05 18:40:45 来源:igfitidea点击:
如果我们必须在mvc中提供类似表单输入体验的向导,我们将如何抽象页面流?
解决方案
回答
有几种方法,可以为向导过程的每个步骤创建一个动作,或者创建一个传递给action方法的参数。就像步骤一样,它将使我们知道向导的状态。
回答
研究后重定向获取模式。
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
将其与强大的域模型(用于跟踪步骤或者表单完成状态或者任何我们称其为它的模型)一起使用时,我们会感到很满意。
回答
public class CreateAccountWizardController : Controller { public ActionRresult Step1() { } public ActionResult Step2() { } }
回答
为了保持这些步骤,我们可以实现页面流操作过滤器,该过滤器提供了类似的体验:
[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(); }
回答
我将页面流留给了我认为属于的视图,因此不同的视图可能具有不同的页面流(例如,针对桌面浏览器客户端或者移动电话客户端等)。 .Net MVC也许?