Asp.net mvc 剑道UI筛选器为空
我想在APS.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作为数据源时,在运行时,
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")
)
)