【发布时间】:2015-03-14 00:14:54
【问题描述】:
我是 .NET MVC 的新手,正在寻找这个问题的代码或非代码答案。我的 Web 应用程序将有数百个控制器、部分控制器等。所有控制器将共享一个公共布局。我目前正在从页面的控制器向 ViewBag 添加一个 Menu 对象。
我想知道在 MVC 布局视图中多次重用对象的最佳做法是什么(类似于下面我的示例中的 Menu 对象)?
@Html.Header(ViewBag.Menu as IR.Web.Portal.Models.Navigation.Menu)
@Html.SideNav(ViewBag.Menu as IR.Web.Portal.Models.Navigation.Menu)
@Html.Footer(ViewBag.Menu as IR.Web.Portal.Models.Navigation.Menu)
我只想初始化对象一次,但要多次使用。
我不想向每个控制器添加代码以使其工作。继承一个基本控制器可能是一个很好的解决方案。
Menu 对象不需要像我的示例那样位于 ViewBag 中。
Menu 对象对于网站的每个用户都是不同的。所以,Static 或 Singleton 类可能不在考虑之列。
【问题讨论】:
-
在 Global.asax 中添加一个 GloablFilter?每个 Controller 都继承一个 Base Controller 吗?在用户会话中存储对象?创建自定义 pageBaseType?还有其他建议吗?
标签: c# model-view-controller controller