كيف أتعامل مع تدفق الصفحة في MVC (خاصة asp.net)
-
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()
{
}
}
هناك طريقتان، إما إنشاء إجراء لكل خطوة من خطوات عملية المعالج، أو إنشاء معلمة يتم تمريرها إلى أسلوب الإجراء.يحب خطوة سيسمح لك ذلك بمعرفة حالة المعالج.