Html 如何在ASP.NETMVC视图中循环数据表并动态创建表?
我想让我的剃须刀代码更加友好。我在datatable(dr)中有100多列,也有100多行Html 如何在ASP.NETMVC视图中循环数据表并动态创建表?,html,asp.net-mvc,razor,Html,Asp.net Mvc,Razor,我想让我的剃须刀代码更加友好。我在datatable(dr)中有100多列,也有100多行 坚持不 销售时点情报系统 身份证件 类型 打包日期时间 @如果(ViewData[“AllEmpData”]!=null) { foreach(System.Data.DataRow dr in(ViewData[“AllEmpData”]作为System.Data.DataTable.Rows) { @dr[“棒号”] @dr[“pos”] @dr[“id”] @dr[“类型”] @dr[“打包日期时
坚持不
销售时点情报系统
身份证件
类型
打包日期时间
@如果(ViewData[“AllEmpData”]!=null)
{
foreach(System.Data.DataRow dr in(ViewData[“AllEmpData”]作为System.Data.DataTable.Rows)
{
@dr[“棒号”]
@dr[“pos”]
@dr[“id”]
@dr[“类型”]
@dr[“打包日期时间”]
}
}
我想在foreach循环中做一些类似的事情:
for(i=0; i< column_number; i++){
<td>
@dr[column_id[0].toString()]
</td>
}
for(i=0;i
其中,列号是id=“Parameter\u name”行中的列号。
因此,一般来说,我不想在foreach部分中写下所有参数。您可以使用
DataTable的Columns
属性。像这样:
<table id="PS3" class="report">
<tr id="Parameter_name">
<td id="stick_no" bgcolor='#F0F0F0'>Stick No</td>
<td id="pos" bgcolor='#F0F0F0'>Pos</td>
<td id="id" bgcolor='#F0F0F0'>ID</td>
<td id="type" bgcolor='#F0F0F0'>Type</td>
<td id="packing_datetime" bgcolor='#F0F0F0'>Packing DateTime</td>
</tr>
@if (ViewData["AllEmpData"] != null)
{
var dt = ViewData["AllEmpData"] as System.Data.DataTable;
foreach (System.Data.DataRow dr in dt.Rows)
{
<tr>
@foreach (System.Data.DataColumn col in dt.Columns)
{
<td>@dr[col.ColumnName].ToString()</td>
}
</tr>
}
}
</table>
坚持不
销售时点情报系统
身份证件
类型
打包日期时间
@如果(ViewData[“AllEmpData”]!=null)
{
var dt=ViewData[“AllEmpData”]作为System.Data.DataTable;
foreach(System.Data.DataRow dr in dt.Rows)
{
@foreach(System.Data.DataColumn列,在dt.Columns中)
{
@dr[col.ColumnName].ToString()的名称
}
}
}
您也可以通过这种方式创建表头。但是您应该考虑将<代码> DATABATE 转换成控制器中的一个列表,并在<代码>视图< /代码>中使用它。做了我想做的事。在我看来,这应该被标记为答案。干杯
<table id="PS3" class="report">
<tr id="Parameter_name">
<td id="stick_no" bgcolor='#F0F0F0'>Stick No</td>
<td id="pos" bgcolor='#F0F0F0'>Pos</td>
<td id="id" bgcolor='#F0F0F0'>ID</td>
<td id="type" bgcolor='#F0F0F0'>Type</td>
<td id="packing_datetime" bgcolor='#F0F0F0'>Packing DateTime</td>
</tr>
@if (ViewData["AllEmpData"] != null)
{
var dt = ViewData["AllEmpData"] as System.Data.DataTable;
foreach (System.Data.DataRow dr in dt.Rows)
{
<tr>
@foreach (System.Data.DataColumn col in dt.Columns)
{
<td>@dr[col.ColumnName].ToString()</td>
}
</tr>
}
}
</table>