时间:2010-07-26 06:36:54

标签: c# .net asp.net-mvc oop

1 个答案:

答案 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") %>