Rub*_*ini 2 razor asp.net-mvc-3
我在Controller中有以下Action:
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());
}
Run Code Online (Sandbox Code Playgroud)
我的Razor视图中的以下foreach:
<ul>
@foreach (var item in ViewBag.FriendRequests)
{
<li>@item.Nickname</li>
}
</ul>
Run Code Online (Sandbox Code Playgroud)
并出现以下错误:
*'object' does not contain a definition for 'Nickname'*
Run Code Online (Sandbox Code Playgroud)
我的代码中缺少什么?
ViewBag是object类型,而不是Enumerable!
你可以做的是,有一个课程如下:
Class User{
public int Id;
public string Nickname;
}
Run Code Online (Sandbox Code Playgroud)
然后填充User类列表如下:
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();
Run Code Online (Sandbox Code Playgroud)
最后在你看来这样做:
@foreach (var item in ViewBag.FriendRequests as List<User> )
{
<li>@item.Nickname</li>
}
Run Code Online (Sandbox Code Playgroud)
希望能帮助到你.
| 归档时间: |
|
| 查看次数: |
9690 次 |
| 最近记录: |