发送回视图模型的集合

时间:2011-12-06 23:03:20

标签: asp.net-mvc asp.net-mvc-3

我有一段时间没有使用过asp.net mvc 3(得到了跟踪)。我不记得发回一组视图模型是不错的做法?

现在我的代码是如何拥有包含其他视图模型的视图模型。这样我只会发回一个视图模型。

这个视图模型中的视图模型可以是一个集合。但是我有一个案例需要发回多个视图模型,但这就是我需要发送的全部内容。我没有任何其他属性或其他视图模型被发回。

将它包装在另一个视图模型周围以使其仅返回一个视图模型似乎毫无意义。

这是好的做法吗?

由于

2 个答案:

答案 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。

我从some tutorial code I wrote up recently抓住了这个。