当前位置:  开发笔记 > 编程语言 > 正文

MVC视图继承

如何解决《MVC视图继承》经验,为你挑选了1个好方法。

例如:假设我想返回一个显示汽车列表的视图,并显示您所在地区的一部分经销商.这是两个脱节的数据.

我的视图继承了以下汽车列表:

public partial class CarLot : ViewPage>
{

}

现在从控制器我可以返回如下视图:

return View(Model.GetCars());

为了呈现这一点,我的标记看起来如下所示:

<% foreach (Car myCar in ViewData.Model)
{some html here}
%>

这照顾了汽车清单,但我的问题是,我该如何处理经销商名单?视图是否支持多重继承,或者我是否必须再次从标记中获取模型?我知道可以这样做,但我不确定这是否是最好的做法.



1> John Sheehan..:

创建数据传输对象

public class CarLotViewModel
{
     public List Cars { get; set; }
     public List NearbyDealers { get; set; }
}

设置视图以使用视图模型:

public partial class CarLot : ViewPage
{    
}

然后在你的控制器中:

var model = new CarLotViewModel();

model.Cars = GetCars();
model.NearbyDealers = GetDealers();

return View(model);

然后枚举视图中的每个集合:

<% foreach (Car car in ViewData.Model.Cars) { %>
....
<% foreach (Dealer dealer in ViewData.Model.NearbyDealers) { %>

推荐阅读
雨天是最美
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有