Как мне обрабатывать поток страниц в MVC (особенно asp.net)

StackOverflow https://stackoverflow.com/questions/16330

  •  08-06-2019
  •  | 
  •  

Вопрос

Если бы вам пришлось предоставить мастер, подобный вводу формы в mvc, как бы вы абстрагировали поток страниц?

Это было полезно?

Решение

Изучите шаблон post-redirect-get.

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();
}

Я оставил поток страниц до представления, которому, по моему мнению, оно принадлежит, поэтому разные представления могут иметь разные потоки страниц (например,для клиентов браузера для настольных компьютеров или клиентов для мобильных телефонов и т. д.) Я написал это в своем блоге: Мастер RESTful с использованием ASP.Net MVC… Возможно?

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


   public ActionResult Step2()
   {
   }
}

Есть несколько способов: создать действие для каждого шага процесса мастера или создать параметр, который передается в метод действия.Нравиться шаг это позволит вам узнать, в каком состоянии находится мастер.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top