后台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

<table id=\"table11\"  style=\" text-align:center;border-collapse:collapse;width:auto\" border=\"1\"   >
    <tr style=\"font-size:14px;font-weight:bold;background-color:#dcc549\">
       
        @foreach (var col in Model.Columns)
        {
            <td>@col</td>
        }
    </tr>
    
   
    @foreach (System.Data.DataRow item in Model.Rows)
{
    <tr>
               
       @foreach (var rows in item.ItemArray)
        {
           if (item.ItemArray[1] == \"CPK\") //设置CPK栏位的样式,如果识别出栏位为CPK,则字体加粗
           {
             <td @Html.Raw(\"style=\'font-size:14px;font-weight:bold;\'\")>@rows</td>
           }
       else
           {
            <td @Html.Raw(\"style=\'font-size:10px;\'\")>@rows</td>
           }
        }
    </tr>          
}
</table>

关于Html.Raw自己的见解
可以将带有Html标签的字符串,转换成Html标签输出
@{
    var a = \"< >alert(\'测试成功\')</ >\";
}
<html>
<body>
<p>
    @Html.Raw(a)
</p>
</body>
</html>
点击测试可以弹出提示框,测试成功

原文:https://blog.csdn.net/ai_feng123/article/details/78962118

收藏 打印