我有一段时间没有使用过asp.net mvc 3(得到了跟踪)。我不记得发回一组视图模型是不错的做法?
现在我的代码是如何拥有包含其他视图模型的视图模型。这样我只会发回一个视图模型。
这个视图模型中的视图模型可以是一个集合。但是我有一个案例需要发回多个视图模型,但这就是我需要发送的全部内容。我没有任何其他属性或其他视图模型被发回。
将它包装在另一个视图模型周围以使其仅返回一个视图模型似乎毫无意义。
这是好的做法吗?
由于
答案 0 :(得分:2)
这种方法绝对没有错。传回渲染视图所需的任何内容。如果您需要将其他数据传递给View,您当然可以稍后重构。
答案 1 :(得分:0)
我只将ViewModel
传递给View
。但是,单个ViewModel
可能有一些 OTHER ViewModels
的属性。
这是我的主页的示例视图模型....
namespace RavenOverflow.Web.Models.ViewModels
{
public class IndexViewModel : _LayoutViewModel
{
public IndexViewModel(ICustomIdentity customIdentity) : base(customIdentity)
{
}
public IList<Question> Questions { get; set; }
public AuthenticationViewModel AuthenticationViewModel { get; set; }
public IDictionary<string, short> RecentPopularTags { get; set; }
public UserTagListViewModel UserFavoriteTagListViewModel { get; set; }
public UserTagListViewModel UserIgnoredTagList { get; set; }
}
}
第2,第4和第5个属性都包含单独的ViewModel。