C# mvc 控制器的viewbag.news 返回的是8条数据,怎么将他们一条一条遍历出来

C#mvc控制器的viewbag.news返回的是8条数据,怎么将他们一条一条遍历出来(每一条都包含若干字段,如标题,正文,时间等)截图如下... C# mvc 控制器的viewbag.news 返回的是8条数据,怎么将他们一条一条遍历出来(每一条都包含若干字段,如 标题,正文,时间 等)

截图如下
展开
 我来答
百度网友8d17b9d
2014-05-15 · TA获得超过280个赞
知道小有建树答主
回答量:161
采纳率:100%
帮助的人:181万
展开全部

你这个需求确实应该直接将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>
框世襟伟
2014-05-15 · 超过13用户采纳过TA的回答
知道答主
回答量:58
采纳率:0%
帮助的人:25.2万
展开全部
这个好说,定义一个实体类,然后将你所要显示的每一实体放到一个list中,然后在前台,使用foreach循环显示下酒可以了!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式