webgrid排序不起作用

时间:2012-08-06 09:31:11

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

我正在使用webgrid显示来自我的数据库的数据。问题是排序选项不起作用 这是我的webgrid代码

@{
    var grid = new WebGrid(Model, canPage:true ,canSort:true, rowsPerPage :4);
    grid.Pager(WebGridPagerModes.NextPrevious);
        @grid.GetHtml(tableStyle: "webGrid", htmlAttributes: new { id = "datatable" },
        headerStyle: "webgrid-header",

        selectedRowStyle : "webgrid-selected-row",
        footerStyle : "webgrid-footer",
                 rowStyle: "webgrid-row-style",
                 alternatingRowStyle: "webgrid-alternating-row",
        columns: grid.Columns(
     grid.Column(header: "", format:  (item) =>

                    Html.ActionLink("Détails", "Details", new { id = item.id_client }, new { @class = "details" }), style: "actions"),

           grid.Column(header: "", format:  (item) => Html.ActionLink("Modifier", "Edit", new { id = item.id_client }, new { @class = "modifier" }),style : "actions"),

                    grid.Column(header: "", format: (item) => Html.ActionLink("Supprimer", "Delete", new { id = item.id_client }, new { @class = "supprimer" }), style: "actions"),

                    grid.Column("Nom",canSort: true),
                    grid.Column("Prenom", "Prénom",canSort:true),
        grid.Column("Email")));


                        }

2 个答案:

答案 0 :(得分:1)

您可以尝试添加webgrid的名称列列表,例如:

var grid = new WebGrid(canPage:true ,canSort:true, rowsPerPage :4);

grid.Bind(Model,columnNames: new[] { "Nom", "Prenom"}); //adding names of columns

grid.Pager(WebGridPagerModes.NextPrevious);
@grid.GetHtml(...

有时,网格无法理解如何将模型与列绑定。

答案 1 :(得分:0)

是的,詹姆斯的回答对我有用。排序链接适用于某些列而不是其他列,添加了columnNames:使其正常工作。 史蒂夫