【发布时间】:2018-08-04 23:29:40
【问题描述】:
简而言之,我想通过创建一个静态类来简化我的一些 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 类的一部分,因此上述内容无法编译。
注意: 我相信我得到了这样的工作,但对我时间的要求让我转向了另一个方向。我希望能够重新打开这个项目,看看我做了什么并将其发布在这里。敬请期待!
【问题讨论】:
-
我创造了一些东西,希望能指引你正确的方向:stackoverflow.com/questions/3808076/…
标签: asp.net-mvc-3