我正在使用Webgrid显示一些动态数据。最近,我重构了代码,以摆脱层次模型,该模型包含要在View中显示的各种不同类型的数据,以使用ViewBag。

以前,网格可以对列进行良好的排序,只需单击标题即可,但是由于我更改为ViewBag,因此我的表无法排序。我的新代码如下:

@if (ViewBag.data != null)
{
var grid = new WebGrid(
    source: ViewBag.data,
    defaultSort: "StudyName",
    rowsPerPage: 10,
    canSort: true,
    canPage: true,
    ajaxUpdateContainerId: "tableDiv"
    );

@grid.GetHtml(
tableStyle: "resultTable",
columns: grid.Columns(
    ViewBag.columns)
)
}


有人有想法吗?

谢谢。

最佳答案

确保已将CanSorttrue属性设置为ViewBag.columns

ViewBag.columns = new[]
{
    new WebGridColumn
    {
        ColumnName = "Id"
    },
    new WebGridColumn
    {
        CanSort = true,
        ColumnName = "StudyName"
    },
};


只有设置了此属性的列才会在网格标题中显示为超链接,从而允许用户对其进行排序。

关于c# - ASP.net MVC3 Webgrid,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7431428/

10-13 00:06