我有一个数据集,它保存着我从数据库表中提取的数据。控制器和模型的相关摘录如下所示
控制器:
DataSet ds = new DataSet();
adapter.Fill(ds,currentIndex,(int)pageSize,"LD_USER_ROLE");
conn.Close();
return View(ds);
看法:
@using System.Data
@model System.Data.DataSet
<table>
@foreach (DataRow row in Model.Tables[0].Rows)
{
<tr>
@foreach (DataColumn column in Model.Tables[0].Columns)
{
<td>@row[column]</td>
}
</tr>
}
</table>
我想更改代码,以便视图中生成的表将按 USERNAME 列排序。为此,我将数据放在数据视图中并使用了排序方法。然后我将数据视图而不是数据集传递到视图中。但是,当我这样做时,我最终会得到与以前完全相同的未排序表。我究竟做错了什么?
控制器:
DataSet ds = new DataSet();
adapter.Fill(ds,currentIndex,(int)pageSize,"LD_USER_ROLE");
DataView dv = ds.Tables[0].DefaultView;
dv.Sort = "USERNAME ASC";
conn.Close();
return View(dv);
看法:
@using System.Data
@model System.Data.DataView
<table>
@foreach (DataRow row in Model.Table.Rows)
{
<tr>
@foreach (DataColumn column in Model.Table.Columns)
{
<td>@row[column]</td>
}
</tr>
}
</table>