Asp.net mvc 剑道UI筛选器为空

Asp.net mvc 剑道UI筛选器为空,asp.net-mvc,filter,kendo-ui,viewmodel,Asp.net Mvc,Filter,Kendo Ui,Viewmodel,我想在APS.NET MVC中使用带过滤器选项的剑道UI网格 在我的示例中,我使用数据库作为数据源和学生表 当我把学生班作为 public ActionResult Index() { var std = (from p in db.Students select p).ToList(); return View("Student", std); } 一切都好 但当我想使用ViewModel作为数据源时,在运行时,

我想在APS.NET MVC中使用带过滤器选项的剑道UI网格

在我的示例中,我使用数据库作为数据源和学生表

当我把学生班作为

public ActionResult Index()
    {
        var std = (from p in db.Students
                select p).ToList();
        return View("Student", std);
    }
一切都好

但当我想使用ViewModel作为数据源时,在运行时,当我点击过滤器图标时,过滤器窗口打开,但我在过滤器的下拉列表中看不到任何东西

我使用自动映射器和值注入器

有什么解决这个问题的建议吗

附加 PersonController.cs Index.cshtml
如果您在视图中传递一个列表,它只在您想要加载一次的静态列表时起作用。如果需要服务器端分页或工具栏,则需要使用服务器端函数加载数据,该函数返回JSON对象并使用.Read将其链接到网格

例如,在未测试的控制器代码中:

    public ActionResult StudentGrid_Read([DataSourceRequest] DataSourceRequest request)
    {
        return Json((from p in db.Students select p).ToDataSourceResult(request));
    }
在您的网格上:

@(Html.Kendo()
    .[other stuff]
    .DataSource(dataSource => dataSource
        .[other stuff]
        .Read("StudentGrid_Read", "Controller")
    )
)
有关完整的编码示例,请参见带工具栏的剑道ui网格演示:

编辑:刚刚注意到还有一个过滤演示,但想法是一样的:

我做过这样的事情,一切都很好。只有筛选器列表为空如果设置正确,您应该能够传递一个空列表:public ActionResult Index{return viewstudion,null;}如果传递一个非空列表,您的网格将充满数据,但可能无法正常工作。如果您传递了一个空列表,但没有得到任何数据,则表明您的设置中存在一些不正确的地方。我在服务器端分页方面也遇到过类似的问题,调试起来可能会很痛苦哦,不,我说我的问题在于。我的工作中的filterable属性一切正常,但当我单击filter图标时,filter窗口打开,但下拉列表中没有显示开始,结束和。。。因此,我无法筛选数据。请尝试以下操作:返回JsonGetPersonViewModel.ToDataSourceResultrequest、JsonRequestBehavior.AllowGet;
    public ActionResult StudentGrid_Read([DataSourceRequest] DataSourceRequest request)
    {
        return Json((from p in db.Students select p).ToDataSourceResult(request));
    }
@(Html.Kendo()
    .[other stuff]
    .DataSource(dataSource => dataSource
        .[other stuff]
        .Read("StudentGrid_Read", "Controller")
    )
)