MVC后台传送一个动态的datatable给前台接收

后台controller

public actionresult  table(string mo)

{

DataTable dt = new DataTable("Data");

string colNo = "No";//固定栏位
string colSN = "SN";//固定栏位
dt.Columns.Add(colNo);
dt.Columns.Add(colSN);

...

....

...//根据MO查询出来数据储存到table中去,数据解析出来可能会出现不同的栏位

 DataRow dr_CPU = dt.NewRow();//新增三行
 DataRow dr_CPI = dt.NewRow();
 DataRow dr_CPK = dt.NewRow();                    
   dr_CPI[colSN] = "CPI";//新增到SN列下面
   dr_CPU[colSN] = "CPU";
   dr_CPK[colSN] = "CPK";

 Session["DataTable"] = dt;


            return View(dt);

}

如下为命名为table.cshtml的view

@model System.Data.DataTable    //接收类型为DataTable 


   
       
        @foreach (var col in Model.Columns)
        {
           
        }
   
    
   
    @foreach (System.Data.DataRow item in Model.Rows)
{
   
               
       @foreach (var rows in item.ItemArray)
        {
           if (item.ItemArray[1] == "CPK") //设置CPK栏位的样式,如果识别出栏位为CPK,则字体加粗
           { 
             
           }
       else
           {
             
           }
        }
              
}
@col
@rows@rows

关于Html.Raw自己的见解

可以将带有Html标签的字符串,转换成Html标签输出

@{
    var a = "";
}


    @Html.Raw(a)

点击测试可以弹出提示框,测试成功


你可能感兴趣的:(MVC后台传送一个动态的datatable给前台接收)