我有一个telerik asp.net mvc网格,需要根据用户在单独的文本框中输入的搜索条件进行填充。网格正在使用ajax方法最初加载自身以及进行分页。
如何将搜索参数传递给网格,以便它每次发送这些参数时,它会调用ajax方法以响应用户单击另一页面以转到该页面上的数据?
我阅读了telerik的用户指南,但没有提到这种情况。上面所能做到的唯一方法是使用jquery将参数传递给客户端的rebind()方法。问题是,我不知道是否是传递参数的“官方”方式,即使更新后,这些参数始终可以工作。
我在telerik的网站上发现了这个方法:link text
我必须传递多个参数。由telerik网格调用的控制器中的动作方法根据搜索参数再次运行查询。
这是我的代码片段:
$("#searchButton").click(function() { var grid = $("#Invoices").data('tGrid'); var startSearchDate = $("#StartDatePicker-input").val(); var endSearchDate = $("#EndDatePicker-input").val(); grid.rebind({ startSearchDate: startSearchDate,endSearchDate: endSearchDate }); });
解决方法
所以根据Telerik“推荐的方法是在onDataBinding事件中设置参数”。
function onGridBinding(e) { if (cancelGridBinding) { // ... } else { var searchValue = 'something'; e.data = { search: searchValue }; }
}