【发布时间】:2015-01-14 13:17:52
【问题描述】:
我在 ASP.NET MVC 中工作,我正在尝试组合两个集合以在一个循环中执行我尝试过 ZIP 方法,但如果一个集合为空,它不会返回任何内容。我尝试了 Concat 方法,但它给出了这个错误
System.Collection.Generic.ICollection<Project.Entities.TDetail> does not contains definition for 'Concat'.
我的视图模型:
public class CategoryViewModel
{
public virtual ICollection<TDetail> Details { get; set; }
public virtual ICollection<TRequest> Requests { get; set; }
}
我的循环:
@foreach (var item in Model.Details.Concat(Model.Requests))
{
}
ZIP 方法尝试但失败:
var request = Model.Requests.ToList();
var details = Model.Details.ToList();
var final = details.Zip(request, (x, y) => new { Detail = x, Request = y });
@foreach (var item in final)
{
}
我花了 3 天时间解决这个问题,但找不到任何解决方案,请帮助我。
【问题讨论】:
-
如果您发布示例输入和所需输出可能会有所帮助。
-
@dav_i 我想同时显示这两个集合的结果,请求和详细信息。
-
@Usama dav_i 询问所需的输出/html 应该是什么,因为您可以非常轻松地运行两个不同的循环(每个列表一个循环)并且仍然可能获得您想要的结果。
-
它们有什么关系?有没有可以加入的关键价值?还是您只想并排列出它们?
-
@Usama 然后我不会尝试同时循环它们 - 分别循环它们,创建两个不同的 UI 元素(列表?表格?跨度?)并使用样式来并排显示它们 -一边。
标签: c# .net asp.net-mvc linq asp.net-mvc-4