我创建了一个带有函数的类来返回DataTable
namespace Office365
{
public class Office365
{
public DataTable GetQAData()
{
return Datatable;
}
}
}
此函数在Controlller中使用,并使用ViewBag.Content(如此
)呈现数据在.cshtml中
@Html.Raw(ViewBag.QAData)
在控制器代码中:
using Office365;
Office365 con = new Office365();
StringBuilder sb = new StringBuilder();
DataTable dt = con.GetQAData();
int i = 1;
foreach (DataRow dr in dt.Rows)
{
sb.append("<div></div>")
}
ViewBag.QAData = sb.ToString();
但这可以调用.cshtml
上的类对象并将我的DataTable渲染为Div吗?我的意思是直接在.cshtml
答案 0 :(得分:2)
我会创建一个包含行集合的ViewModel。 然后从页面我将循环通过它并创建HTML。 像这样的东西
public calss DataViewModel
{
public IList<MyRow> Rows {get;set;}
}
来自控制器
var model = new DataViewModel()
model.Rows = new List<MyRow>();
DataTable dt = con.GetQAData();
int i = 1;
foreach (DataRow dr in dt.Rows)
{
var row = new MyRow();
/* populate the the MyRow class */
Rows.Add(row);
}
从视图
@foreach(var item in Model.Rows)
{
<div>@item.MyField</div>
}
我希望你明白这个想法