Domanda

Se dovessi fornire una procedura guidata come l'esperienza di immissione dei moduli in mvc, come astrarresti il ​​flusso della pagina?

È stato utile?

Soluzione

Esaminare il modello post-reindirizzamento-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

Usalo insieme a un modello di dominio robusto (per monitorare i passaggi o lo stato di completamento del modulo o come lo chiami tu) e sei a posto.

Altri suggerimenti

Per mantenere i passaggi è possibile implementare filtri di azione del flusso di pagina, che forniscono un'esperienza come questa:

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

Ho lasciato il flusso della pagina fino alla vista, a cui credo appartenga, quindi visualizzazioni diverse potrebbero avere flussi di pagina diversi (ad es.per client browser desktop o client di telefonia mobile, ecc.) L'ho scritto sul mio blog: Una procedura guidata RESTful che utilizza ASP.Net MVC... Forse?

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


   public ActionResult Step2()
   {
   }
}

Esistono due modi: creare un'azione per ogni passaggio del processo della procedura guidata o creare un parametro da passare al metodo dell'azione.Come fare un passo che ti permetterà di sapere in quale stato si trova la procedura guidata.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top