我正在寻找新项目使用asp.net MVC。我在asp.net和web上查看了不同的示例。我仍然没有得到答案,将不同模型的输出合并到一个视图中的最佳方式是什么?例如,我的主页将包含分类,位置和近期帖子的快照。这些将来自三种不同的型号。我是否创建了一个包含所有内容的视图数据,并在视图内进行混淆以相应地放置内容?在asp.net MVC单视图中组合多个输出
2
A
回答
0
我通常创建一个视图模型类,在此场景中聚合多个数据模型类。
我相信视图和数据应该是两个不同的对象集合,因为有时您需要在控制器类中执行数据转换(例如,在数据模型类中将货币格式的小数形式转换为视图模型中的货币格式的字符串)被发送到视图。
8
您为您的主页创建一个视图模型......像......
public class MyHomepageViewModel
{
public Categories MyCategories { get; set; }
public Locations MyLocations { get; set; }
public Snapshots MySnapshots { get; set; }
public MyHomepageViewModel(Categories categories, Locations locations, Snapshots snapshots)
{
MyCategories = categories;
MyLocations = locations;
MySnapshots = snapshots;
}
}
,然后你强类型的主页,这个视图模型,你将有机会获得的一切,你在你看来需要=)
3
你需要为这个视图模型:
public class HomeViewModel {
public IList<Category> Categories;
public IList<Location> Locations;
public IList<Snapshot> Snapshots;
public IList<Post> Recent;
}
你的观点必须被强类型:
<%@ Page Inherits="System.Web.Mvc.ViewPage<HomeViewModel>" %>
<!-- <% var categories = Model.Categories %> -->
相关问题
- 1. Drupal:视图结合多个块输出
- 2. 如何在Mvc中组合多个视图引擎?
- 3. 在ASP.NET MVC3中将多个视图组合在一起
- 4. 使用ASP.Net在单一视图中管理多个查找MVC
- 5. 在单个视图ASP.NET使用多个模型,MVC
- 6. 多视图搜索表单(ASP.NET MVC 2)
- 7. 在一个asp.net MVC视图
- 8. ASP.NET MVC视图中的多个表单以及路由问题
- 9. 在asp.net中的单个页面上分页多个集合mvc
- 10. ASP.NET MVC - 更新多个部分/视图
- 11. ASP.NET MVC 4,在一个视图中的多个模型?
- 12. ASP.NET MVC:如何在一个视图中使用多个模型?
- 13. ASP.NET MVC多个模型在一个视图中
- 14. Asp.Net中的路由和多视图MVC
- 15. ASP.NET MVC 2多个部分视图表单字段名冲突
- 16. MVC ASP.NET基于单一模型的多个视图
- 17. 在一个图中组合多个图
- 18. 返回在ASP.NET MVC中的视图MVC
- 19. 在一个视图中的ASP.Net MVC多继承
- 20. 在ASP.net中的相同视图/页上的多个JqGrid MVC
- 21. 如何在ASP.NET MVC的视图中使用多个数据集?
- 22. 在asp.net MVC 5视图中提交多个列表项
- 23. asp.net中的多个视图
- 24. 在asp.net中有两个模型的单一视图MVC 4
- 25. 在ASP.Net的相同视图中分离两个表单MVC
- 26. ASP.Net中多个设备的多视图MVC
- 27. ASP.NET MVC组合CMS
- 28. DataTables在多个视图中绑定MVC
- 29. 一个视图中其他视图在asp.net mvc的
- 30. ASP.NET MVC使用JQuery将多个部分视图加载到单个div中
感谢乔恩......现在我实际上得到了什么是ViewModel。 – kdmurray 2010-06-03 16:18:09