asp.net-mvc – 用于选择的KendoUI网格Ajax绑定参数
|
我的ASP.NET MVC应用程序有一个基本的KendoUI网格,它使用ajax绑定进行读取.我想加强这一点,以便网格上方的表单用于帮助选择应该在网格中显示的数据.这是一个标准的搜索表单,带有搜索按钮等基本字段,如名字,姓氏,出生日期,客户来源等.当按下搜索按钮时,我想强制网格通过使用上面引用的字段传入搜索模型,从控制器获取满足条件的数据. 搜索表单包含在_CustomerSearch部分视图中. 通过点击OnDataBinding客户端事件并在其中更新参数值,然后手动进行Ajax调用来获取数据,我已经通过Telerik MVC扩展实现了这种事情.它不会出现KendoUI将以相同的方式运行. 视图 @Html.Partial("_CustomerSearch",Model)
<hr>
@(Html.Kendo().Grid<ViewModels.CustomerModel>()
.Name("Grid")
.Columns(columns =>
{
columns.Bound(p => p.Id).Hidden(true);
columns.Bound(p => p.FirstName);
columns.Bound(p => p.LastName);
columns.Bound(p => p.DateOfBirth).Format("{0:MM/dd/yyyy}");
columns.Bound(p => p.IsActive);
})
.Scrollable()
.Filterable()
.Sortable()
.DataSource(dataSource => dataSource
.Ajax()
.Read(read => read.Action("_Search","Customer"))
)
)
调节器 public ActionResult _Search([DataSourceRequest]DataSourceRequest request)
{
return Json(DataService.GetCustomers2().ToDataSourceResult(request));
}
我设想控制器看起来像这样,但是找不到任何正在实现的例子,这是我需要帮助的. public ActionResult _Search([DataSourceRequest]DataSourceRequest request,CustomerSearchModel customerSearchModel)
{
return Json(DataService.GetCustomers2(customerSearchModel)
.ToDataSourceResult(request));
}
解决方法如果您的要求可以通过内置过滤来解决,Nicholas的答案可以正常工作.但是如果您的要求可以通过构建的过滤来解决为什么要创建自定义搜索表单?所以我想你有理由手动进行搜索,所以这里是我们在我们的项目中完成的(所以也许有更简单的方法,但这仍然适用于我们): 控制器动作很好: public ActionResult _Search([DataSourceRequest]DataSourceRequest request,CustomerSearchModel customerSearchModel)
{
return Json(DataService.GetCustomers2(customerSearchModel)
.ToDataSourceResult(request));
}
下一步:您需要一个从搜索表单收集数据的JavaScript函数(JS对象的属性名称应与CustomerSearchModel的属性名称相匹配): function getAdditionalData() {
// Reserved property names
// used by DataSourceRequest: sort,page,pageSize,group,filter
return {
FirstName: $("#FirstName").val(),LastName: $("#LastName").val(),//...
};
}
然后,您可以在每次读取时配置此函数: .DataSource(dataSource => dataSource
.Ajax()
.Read(read => read.Action("_Search","Customer")
.Data("getAdditionalData"))
)
最后在你的按钮点击你只需要刷新网格: $('#Grid').data('kendoGrid').dataSource.fetch(); (编辑:日照站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp-classic – 如何使用Microsoft.XMLHTTP指定代理配置?
- asp.net – 防止TextBox中的特殊字符
- asp.net-mvc-4 – 最小和最大字符串长度的单独错误消息 –
- asp.net-mvc – ASP.Net MVC – HTTP状态代码(即303,401,40
- ASP.NET Core知多少(7):对重复编译说NO -- dotnet watch
- asp.net – 如何禁用.NET事件日志警告?
- asp.net – LINQ:不支持查询运算符’ElementAtOrDefault’
- asp.net-mvc – 是否可以在基于路由的MVC4中使用不同的布局
- asp.net-mvc-2 – 使用’class(或其他保留关键字)作为匿名类
- asp.net – 在渲染到位图之前缩放WPF内容
- 看美剧英文字幕学英语的利器深蓝英文字幕助手简介
- asp.net-mvc – 根据浏览器接受语言自动设置uiCu
- asp.net – 将ViewState移出页面?
- 在ASP.NET核心中间件中设置响应状态
- asp.net下使用jquery 的ajax+WebService+json 实
- asp.net-mvc – ControllerActionInvoker
- asp.net – 为不同项目中的所有Web应用程序网页添
- asp.net – DirectoryServicesCOMException 8007
- ASP.NET中TextBox使用Ajax控件显示日期不全的问题
- asp.net-mvc – asp.net mvc – string或int的路
