الرموز المخصصة في عرض المحرك؟
-
29-09-2019 - |
سؤال
في مشروع ASP.NET MVC 2 ، كيف يمكنني الحصول على كتابة محرك عرض مخصص يسمح باستخدام الرموز المخصصة عند البحث عن طرق العرض؟
على وجه التحديد ، أحاول تحقيق ذلك:
في PagesController:
public ActionResult ViewPage(string folder, string page)
{
return View(folder, page);
}
أريد أن يبحث محرك العرض عن العرض في الدليل:/views/pages/[folder]/
كيف يمكنني تحقيق ذلك دون معرفة أسماء المجلد في وقت مبكر؟ من الناحية المثالية ، لن يتم استخدام محرك العرض المخصص هذا إلا في وحدة التحكم الفردية هذه.
المحلول
لا تحتاج إلى تنفيذ ViewEngine الخاص بك لحل هذه المشكلة. يمكنك ببساطة توفير المسار إلى العرض الذي تريده. شيء من هذا القبيل:
return View("~/Views/Pages/FolderName/ViewName.aspx");
على سبيل المثال ، يمكن أن تبدو مثل هذا:
public ActionResult ViewPage(string folder, string page) {
return View(string.Format("~/Views/Pages/{0}/{1}.aspx", folder, page));
}
نصائح أخرى
إذا تغيرت هذه القيم حسب الطلب (... يبدو ذلك) ، فأنت بحاجة إلى الكتابة فوق CreateView. لم أفعل ذلك بنفسي ، لكن في سؤال واحد ، قال أحدهم إنه ممكن:
لا تنتمي إلى StackOverflow