我正在使用Razor的MVC 3,我使用下面的网格来显示一些数据,
我需要在第一列中进行排序。我在其他页面上也使用了类似的代码来进行排序,它工作正常,但在这里似乎没有用。
但是,如果我转到下一页说第2页,现在我点击排序,它会按升序排序,然后再次出现同样的问题。
<div id="grid">
@{
// added ajaxContainerId
var listgrid = new WebGrid(source: Model.ABC, rowsPerPage: 2, ajaxUpdateContainerId: "grid");
@listgrid.GetHtml(
columns: listgrid.Columns(
listgrid.Column("ColName", format: @<text><a href="javascript:ShowData(@item.ColName);">@item.Name</a></text>, canSort:true),
listgrid.Column(null, "Delete", (item) => MvcHtmlString.Create(string.Format("<a href='DeleteList/{0}'>Delete</a>", @item.Name))),
))
}
</div>
答案 0 :(得分:5)
完整文章:http://yassershaikh.com/mvc-3-web-grid-sorting-not-working/
使用columnName属性帮助,我使用了错误的列名,因为排序不起作用
以下是我现在使用的代码
<div id="grid">
@{
// added ajaxContainerId
var listgrid = new WebGrid(source: Model.ABC, rowsPerPage: 2, ajaxUpdateContainerId: "grid");
@listgrid.GetHtml(
columns: listgrid.Columns(
listgrid.Column(header:"ColName", columnName="DbColName", format: @<text><a href="javascript:ShowData(@item.ColName);">@item.Name</a></text>, canSort:true),
listgrid.Column(null, "Delete", (item) => MvcHtmlString.Create(string.Format("<a href='DeleteList/{0}'>Delete</a>", @item.Name))),
))
}
</div>
希望这对未来的人有所帮助!