Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/331.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ASP.net MVC3 Webgrid_C#_Asp.net_Asp.net Mvc 3_Webgrid - Fatal编程技术网

C# ASP.net MVC3 Webgrid

C# ASP.net MVC3 Webgrid,c#,asp.net,asp.net-mvc-3,webgrid,C#,Asp.net,Asp.net Mvc 3,Webgrid,我使用webgrid来显示一些动态数据。我最近对我的代码进行了重构,从一个层次模型转移到使用ViewBag的视图中,该模型包含各种不同类型的数据 以前网格会对列进行精细排序,只需单击标题即可,但是由于我改为ViewBag,我的表不会排序。我的新代码如下: @if (ViewBag.data != null) { var grid = new WebGrid( source: ViewBag.data, defaultSort: "StudyName", rowsPerPa

我使用webgrid来显示一些动态数据。我最近对我的代码进行了重构,从一个层次模型转移到使用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)
)
}
有人有什么想法吗


谢谢。

确保您已将
视图包上的
CanSort
属性设置为
true
。列

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

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

Ha……我只是在这里说,我已经使用此方法找到了它。谢谢:)