答案 0 :(得分:3)
如果这些项目始终在您的母版页中,那么提取使用数据的控件并让控制器处理每个控件可能是有意义的。然后在您的母版页中使用Html.RenderAction
并输出您的数据的用户控件。这样,您的控制器都不会混淆有关主题视图的信息,阅读代码的任何人都可以轻松查看数据的来源
实施例
public class ThemeController : Controller{
public ActionResult ThemeDropDown(){
return PartialView(new ThemeViewModel(){ SelectedTheme = ..., ThemeList = ... })
}
}
public class AppleController : Controller{
public ActionResult AppleStuff(){
return PartialView(new AppleViewModel(){ Apple = ..., AppleList = ... })
}
}
<%= Html.RenderAction("ThemeDropDown", "Theme") %>
<%= Html.RenderAction("AppleStuff", "Apple") %>