我对MVC很新,我想将模型中准备的Entity对象从控制器传递给局部视图。
模特:
public class HomeSlidesViewModel
{
public HomeSlidesViewModel()
{
}
public List<HomeSlides> homeSlides { get; set; }
}
在控制器中:
using wrrc.ViewModels;
public ActionResult GetHomeSlider(HomeSlidesViewModel model)
{
var getHomeSliders =
from ghs
in Tools.DataModel.HomeSlides
select ghs;
model.homeSlides = getHomeSliders.ToList();
return PartialView("_HomeSliderLayout", model);
}
在视图中:
@model wrrc.ViewModels.HomeSlidesViewModel
@foreach (var slide in Model)
问题是在foreach中使用Model,错误是:
foreach语句不能对类型的变量进行操作 'wrrc.ViewModels.HomeSlidesViewModel'因为 'wrrc.ViewModels.HomeSlidesViewModel'不包含公共 'GetEnumerator'的定义
请帮忙 感谢
答案 0 :(得分:0)
执行此操作时:
@foreach (var slide in Model)
您告诉代码迭代Model
列表。但Model
不是列表。它只是一个对象:
@model wrrc.ViewModels.HomeSlidesViewModel
该对象包含属性,它是一个列表。也许你打算迭代一下?:
@foreach (var slide in Model.homeSlides)
答案 1 :(得分:0)
根据您的代码,您应该尝试使用以下内容:
@foreach (var slide in Model.homeSlides){
// Your code goes here
}