Короче говоря, я хотел бы упростить некоторые из моих страниц MVC, создав статический класс, чтобы получать данные из какого-либо хранилища данных, а затем возвращать одно из нескольких представлений на основе некоторых внутренних флагов.
internal static class StaticPageContent
{
internal static ViewModels.Display GetPage(string Map = null, int? ID = null) {...}
internal static ActionResult ReturnView(ViewModels.CMS.Display vm) {...}
}
Затем в любом из моих действий контроллера я мог бы назвать это примерно так:
public ActionResult ActionName()
{
var vm = StaticPageContent.GetPage("/Home");
return StaticPageContent.ReturnView(vm);
}
Где метод ReturnView () вернул бы одно из нескольких (общих) представлений:
internal static ActionResult ReturnView(ViewModels.CMS.Display vm)
{
if (vm.useLoremIpsum)
return View("LoremIpsum", vm);
else
{
if (vm.canEdit)
return View("ViewReadWrite", vm);
else
return View("ViewReadOnly", vm);
}
}
Как правильно вернуть объект View (...) из класса, не являющегося контроллером?Вышеприведенное не скомпилируется, так как View (...) является частью класса Controller.
ПРИМЕЧАНИЕ. Я считаю, что что-то вроде этого работает, но требования к моему времени отправили меня в другом направлении.,Я надеюсь, что смогу снова открыть этот проект, чтобы посмотреть, что я сделал, и опубликовать его здесь.Оставайтесь с нами!