C# ASP.NET MVC4 IEnumerable在post上为空
我已经阅读了关于这个问题的几个答案,但尽管如此,我似乎已经形成了代码盲症 我有以下视图模型:C# ASP.NET MVC4 IEnumerable在post上为空,c#,asp.net-mvc,asp.net-mvc-4,model,C#,Asp.net Mvc,Asp.net Mvc 4,Model,我已经阅读了关于这个问题的几个答案,但尽管如此,我似乎已经形成了代码盲症 我有以下视图模型: public class IndividualProductVm { public virtual Products Products { get; set; } public ProductSummary ProductSummary { get; set; } public virtual IEnumerable<ProductSimpleResponse> Pr
public class IndividualProductVm
{
public virtual Products Products { get; set; }
public ProductSummary ProductSummary { get; set; }
public virtual IEnumerable<ProductSimpleResponse> ProductSimpleResponse { get; set; }
}
如果有人能解释我做错了什么,我将不胜感激 使用列表是因为
IEnumerable只适合在集合中进行迭代,您不能修改(添加或删除)数据IEnumerable将所有数据从服务器带到客户端,然后对它们进行过滤,假设您有很多记录,所以IEnumerable会增加内存开销
public class IndividualProductVm
{
public virtual Products Products { get; set; }
public ProductSummary ProductSummary { get; set; }
public virtual List<ProductSvhcSimpleResponse> ProductSimpleResponse { get; set; }
}
公共类IndividualProductVm
{
公共虚拟产品产品{get;set;}
public ProductSummary ProductSummary{get;set;}
公共虚拟列表产品SimpleResponse{get;set;}
}
您的属性名是ProductSimpleResponse,尽管类型是ProductSvhcSimpleResponse,但要遍历它,您应该具有
@foreach (var item in Model.ProductSimpleResponse)
不是
不能使用
foreach
循环。对于循环,您需要一个(模型必须是IList
或customEditorTemplate
,对于ProductSvhcSimpleResponse
的类型,请参阅详细解释,请检查列表,替换为IEnumerableThanks Stephen。我坚持我曾尝试实现for解决方案,但没有成功。不过,午餐后,头脑清醒,另一个ttempt,它就这样工作了。胡说八道。OP所做的只是迭代集合,而不是添加或删除!和List
is(实现)IEnumerable
。它的列表
增加了额外的ovehead!@Stephen Muecke-谢谢你给我提供正确的方法,但是看到这个链接了吗?这个链接中没有任何内容与OP的问题相关。不过你应该阅读我在问题评论中给出的链接,以了解OP的问题是什么以及如何解决它。嗨,贝格尔-那就是我作为一个复制粘贴的白痴,我会相应地编辑这篇文章。
public class IndividualProductVm
{
public virtual Products Products { get; set; }
public ProductSummary ProductSummary { get; set; }
public virtual List<ProductSvhcSimpleResponse> ProductSimpleResponse { get; set; }
}
@foreach (var item in Model.ProductSimpleResponse)
@foreach (var item in Model.ProductSvhcSimpleResponse)