您的位置:首页 > 其它

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

2018-01-03 15:53 435 查看
后台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 = "<script>alert('测试成功')</script>";

}
<html>
<body>

<p>

    @Html.Raw(a)

</p>
</body>
</html>
点击测试可以弹出提示框,测试成功
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: