asp.net-mvc – LINQ匿名类型MVC视图

前端之家收集整理的这篇文章主要介绍了asp.net-mvc – LINQ匿名类型MVC视图前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我已经看到很多关于此的问题,但我从来没有真正得到我需要的答案.

我正在将一个相当大的Web应用程序从Web Forms转换为MVC,过了一段时间我就把数据传递给视图了.在Action中我执行代码

//这只是一个例子
ViewData [“QProducts”] =从db.Products中的p选择new {Name = p.Name,Date = p.ToShortDateString()}
ViewData [“QUsers”] =来自db.Users中的u选择你;

我使用foreach循环迭代html中的对象,如下所示:

foreach(var q in (IEnumerable)ViewData["QEvents"])
{ 
    /*Print the data here*/
}

在使用MVC之前我只使用了asp:Repeater,但由于这是MVC,我无法使用ASP.NET控件.

我该如何将这些数据传递给View?我真的没有选择不在这里使用匿名类型. <%#ViewData.Eval()%>显然不行.

有任何想法吗?

解决方法

而不是匿名类型,创建一个类型来保存名称和日期:
public class NameDate
{
  public string Name { get; set; }
  public DateTime Date { get; set; }
}

然后在Linq查询中使用它:

from p in db.Products select new NameDate { Name = p.Name,Date = p.Date }

强烈地将您的视图键入MyView< IEnumerable< NameDate>>然后只做一个foreach(ViewData.Model中的var nameDate)…

原文链接:https://www.f2er.com/aspnet/246999.html

猜你在找的asp.Net相关文章