问题描述
在asp.netmvc视图页面里面循环输出新闻列表,根据新闻ID值去另一张表查询评论的相关信息,比如代码如下:foreach(datarowdrrindtnews.Rows){//根据新闻ID查询相关的评论信息}用asp.netwebform我知道怎么写,在asp.netmvc里面就不知道怎样写了,请教一下大家,请具体说明一下怎么做
解决方案
解决方案二:
cshtml里写@(newHtmlString(ViewBag.NewsList)),然后在你的foreach外弄一个变量StringBuildernewsList=newStringBuilder();newsList.Append(@"<table>");foreach(datarowdrrindtnews.Rows){newsList.Append(@"<tr>");newsList.Append(@"<td>");这写你自己输出的东西newsList.Append(@"</td>");newsList.Append(@"</tr>");}newsList.Append(@"</table>");ViewBag.NewsList=newsList.ToString();
解决方案三:
我看明白了,你的意思是在Action里面全部处理好,然后再才view页面显示嘛,但是有一个问题出现在这里,html代码结构简单还好处理,如果是很复杂的话处理起来就很麻烦,有没有更简单的方法啊?
解决方案四:
引用2楼xuhuineng的回复:
我看明白了,你的意思是在Action里面全部处理好,然后再才view页面显示嘛,但是有一个问题出现在这里,html代码结构简单还好处理,如果是很复杂的话处理起来就很麻烦,有没有更简单的方法啊?
那就把datatable转换为一个list泛型类,然后通过viewbag传输到cshtml文件中,然后使用razor语法遍历它来输出html结构
解决方案五:
定义一个类,打个比方说首页的IndexModel{List<Product>prouctsList{get;set;};List<News>newsList<get;set};}
解决方案六:
在页面直接用for循环读出来