سؤال

في مشروع 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. لم أفعل ذلك بنفسي ، لكن في سؤال واحد ، قال أحدهم إنه ممكن:

التوطين مع مجلدات لغة منفصلة ضمن وجهات النظر

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