C# mvc 控制器的viewbag.news 返回的是8条数据,怎么将他们一条一条遍历出来
C#mvc控制器的viewbag.news返回的是8条数据,怎么将他们一条一条遍历出来(每一条都包含若干字段,如标题,正文,时间等)截图如下...
C# mvc 控制器的viewbag.news 返回的是8条数据,怎么将他们一条一条遍历出来(每一条都包含若干字段,如 标题,正文,时间 等)
截图如下 展开
截图如下 展开
展开全部
你这个需求确实应该直接将News这个Model集合类直接传递给View,也就是像下面这个来操作。
注意:这里的Controller和Model是我为了做演示自己臆造出来的,主要为了阐述解决方法。
Controller:
public ViewResult DisplayNews()
{
List<News> news = new List<News>();
News objNews = new News();
objNews.Title = "News 1";
objNews.ReleaseDate = "2014-05-15";
news.Add(objNews);
objNews = new News();
objNews.Title = "News 2";
objNews.ReleaseDate = "2014-05-14";
news.Add(objNews);
return View(news);
}
View:
@model IEnumerable<MvcApps.Models.News>
@{
ViewBag.Title = "Index";
}
<h2>Index</h2>
<table>
<tr>
<th>
Title
</th>
<th>
Release Date
</th>
</tr>
@foreach (var item in Model) {
<tr>
<td>
@Html.DisplayFor(modelItem => item.Title)
</td>
<td>
@Html.DisplayFor(modelItem => item.ReleaseDate)
</td>
</tr>
}
不过,如果你非要使用ViewBag的话也可以, Controller中的Action代码使用你原来的代码不变,
View:
<table>
<tr>
<th>Title</th>
<th>Release Date</th>
</tr>
@foreach (var a in ViewBag.News)
{
<tr>
<td>@a.Title</td>
<td>@a.ReleaseDate</td>
</tr>
}
</table>
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询