我网站中的每个页面都应该有一些相同的数据,类似于SO中的每个页面都显示有关页面顶部当前用户的信息。我实现这个的方式是让我的控制器派生出一个基础控制器类。在该基础控制器的构造函数中,我将模型放入ViewBag中,然后我的布局页面使用它。MVC布局模型设计模式
我遇到了问题,因为我的布局没有强类型。例如,我在页面布局,构建新的HtmlHelpers:
@{var layoutHtml = new HtmlHelper<LayoutModel>(Html.ViewContext, Html.ViewDataContainer); }
@* OK, now we can use the html helper... *@
@layoutHtml.TextAreaFor(model => model.Feedback)
我真的不希望有有从布局模型我的模型子类,因为这将迫使每个动作填写共享模型数据单独,但手动创建HtmlHelpers也似乎是一个坏主意。
有什么想法?