gpt4 book ai didi

asp.net-mvc-3 - C# MVC3 - Razor 中的 LINQ select 和 foreach 循环,我缺少什么?

转载 作者:行者123 更新时间:2023-12-01 09:28:45 26 4
gpt4 key购买 nike

我在 Controller 中有以下操作:

public ViewResult Index()
{
//select
var query = (from u in db.UserSets
join f in db.FriendRequestsSets on u.ID equals f.FriendID
orderby u.ID
select new {Id = u.ID, Nickname = u.Nickname}).AsEnumerable();

ViewBag.FriendRequests = query;
return View(this.UserColl());
}

我的 Razor View 中的以下 foreach:

<ul>
@foreach (var item in ViewBag.FriendRequests)
{
<li>@item.Nickname</li>
}
</ul>

并出现以下错误:

*'object' does not contain a definition for 'Nickname'*

我的代码中缺少什么?

最佳答案

ViewBag 是对象类型,而不是 Enumerable!

你能做的就是开设一个类(class),如下所示:

Class User{
public int Id;
public string Nickname;
}

然后填充用户类列表,如下所示:

var query = (from u in db.UserSets
join f in db.FriendRequestsSets on u.ID equals f.FriendID
orderby u.ID
select new User{Id = u.ID, Nickname = u.Nickname}).ToList();

最后在你看来这样做:

    @foreach (var item in ViewBag.FriendRequests as List<User> )
{
<li>@item.Nickname</li>
}

希望有帮助。

关于asp.net-mvc-3 - C# MVC3 - Razor 中的 LINQ select 和 foreach 循环,我缺少什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7395502/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com