Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ASP.NET MVC4 IEnumerable在post上为空_C#_Asp.net Mvc_Asp.net Mvc 4_Model - Fatal编程技术网

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
或custom
EditorTemplate
,对于
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)