كيف أتعامل مع تدفق الصفحة في MVC (خاصة asp.net)

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

  •  08-06-2019
  •  | 
  •  

سؤال

إذا كان عليك تقديم معالج مثل تجربة إدخال النموذج في 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();
}

لقد تركت تدفق الصفحة حتى العرض، حيث أعتقد أنه ينتمي، لذلك يمكن أن يكون لطرق العرض المختلفة تدفقات مختلفة للصفحة (على سبيل المثال.لعملاء متصفح سطح المكتب أو عملاء الهاتف المحمول وما إلى ذلك) لقد كتبته على مدونتي: معالج RESTful باستخدام ASP.Net MVC... ربما؟

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


   public ActionResult Step2()
   {
   }
}

هناك طريقتان، إما إنشاء إجراء لكل خطوة من خطوات عملية المعالج، أو إنشاء معلمة يتم تمريرها إلى أسلوب الإجراء.يحب خطوة سيسمح لك ذلك بمعرفة حالة المعالج.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top