我一直试图更好地掌握模型和ViewModel设计。对在座的大多数人来说,这可能是个愚蠢的问题。首先,这里是我的模型:
public class Cities
{
[Key]
public int CityID { get; set; }
public string City { get; set; }
public int Miles { get; set; }
public string State { get; set; }
public string ZipCode { get; set; }
}现在,当我在表示层中创建我的ViewModel时,我是否可以使用IEumerable<>传递城市表中的所有记录:
public class CitiesViewModel
{
public IEnumerable<Cities> Cities { get; set; }
}然后我就可以和我的控制器遍历所有的记录:
[HttpGet]
public ActionResult List()
{
CitiesViewModel model = new CitiesViewModel
{
Cities = repository.Cities
.OrderBy(p => p.City)
};
return View(model);
}或者,我应该只传递我希望自己的视图能够访问的唯一数据:
public class CitiesViewModel
{
//public IEnumerable<Cities> Cities { get; set; }
public string City { get; set; }
public string State { get; set; }
}发布于 2014-07-07 21:12:53
你可以:
class CityViewModel
{
public string City { get; set; }
public string State{ get; set; }
}然后:
class CitiesViewModel
{
public IEnumerable<CityViewModel> Cities { get; set; }
}发布于 2014-07-07 21:08:13
这取决于您希望在视图上显示什么。如果一个城市的详细信息使用:
public class CitiesViewModel
{
public string City { get; set; }
public string State { get; set; }
}但是,如果要显示cites列表,请使用:
public class CitiesViewModel
{
public IEnumerable<Cities> Cities { get; set; }
}https://stackoverflow.com/questions/24619802
复制相似问题