我有一个关于MVC3的设计/最佳实践问题。我有一个网站的“首页”,可能包含我的模型中非相关表格的一些摘要信息。ViewModel与部分视图总结/首页
创建专用于每个模型的部分视图还是创建ViewModel以将所有内容绑定在一起更好?
部分视图的“专业”是它真正将问题分开,“con”是部分视图可能不会在网站的其他位置重复使用。
ViewModels的“专业版”是它允许将一个强类型对象应用于视图,其中“con”表示数据实际上是不相关的,绑定是人造的。
我有一个关于MVC3的设计/最佳实践问题。我有一个网站的“首页”,可能包含我的模型中非相关表格的一些摘要信息。ViewModel与部分视图总结/首页
创建专用于每个模型的部分视图还是创建ViewModel以将所有内容绑定在一起更好?
部分视图的“专业”是它真正将问题分开,“con”是部分视图可能不会在网站的其他位置重复使用。
ViewModels的“专业版”是它允许将一个强类型对象应用于视图,其中“con”表示数据实际上是不相关的,绑定是人造的。
为了清晰性和可维护性我就选择这种
public class SummaryModel
{
public Patial1Model Partial1 {get;set;}
public Patial2Model Partial2 {get;set;}
//etc
}
主要优点是不重用(谁知道?),但maintanability。使用这个模型非常容易修改部分数据或在其他地方重新使用它。
我的模型中非关联表的摘要信息。
在视图中,ViewModel是模型,实际上应用程序不应该关心表和其他持久性细节。应用程序的模型主要是领域模型,EF或NH的pocos是持久性模型。这些视图了解他们的模型,这与应用程序或持久性模型不同。
所以,对ViewModel投一票 – 2012-03-27 15:11:51
+ 1 *今天早些时候我正在谈论这个! – Curt 2012-03-27 14:15:15
您可以使用Html.Partial(viewName,Model)将模型传递给PartialView。您可以将数据从视图传递到PageData [“key”]来查看。如果您想使用JavaScript将HTML加载到容器中,将网站分割为部分视图更为有用。它也更加结构化,更易于阅读。 – Silvermind 2012-03-27 14:19:05