网格排序不工作mvc 3剃须刀

时间:2012-03-29 07:47:32

标签: asp.net-mvc-3 razor webgrid

我正在使用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>

1 个答案:

答案 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>

希望这对未来的人有所帮助!