我有一个telerik asp.net mvc网格,需要根据用户在单独的文本框中输入的搜索条件进行填充 . 网格最初使用ajax方法加载自身以及进行分页 .
如何将搜索参数传递给网格,以便它“每次”调用ajax方法发送这些参数,以响应用户点击另一个页面转到该页面上的数据?
我读了telerik 's user guide but it does not mention this scenario. The only way I have been able to do above is by passing the parameters to the rebind() method on client side using jquery. The issue is that I am not sure if it is the 1728104 way of passing parameters which will always work even after updates. I found this method on this post on 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
});
});
6 回答
因此根据Telerik的说法,“推荐的方法是在onDataBinding事件中设置参数” .
}
对于我自己,我使用我使用jQuery和javascript对象传递的ViewModel对象,我的View是强大的类型SearchMemberModel,包含我的搜索字段,我的视图中的每个字段都有一个Textbox . 我的数据绑定是将Model传递给控制器 . 然后我用javascript构建我的对象,并在重新调用调用中将它传递给我的控制器 .
这是我的代码:
查看和javascrip
那是我的掌控者
我也可以给你我的搜索模型类:
希望它可以帮助那里的任何人!
这实际上记录了here .
这是绑定到select命令的控制器操作:
参数'command'具有排序和分页信息 . 注意:此解决方案适用于ajax-ified网格 . 如果您正在进行直接发布帖子,您仍然可以使用GridCommand命令参数来维护分页/过滤/排序的状态 .
尝试一下这个:Telerik MVC Grid External Filter
它是一个jquery插件,可让您通过自定义输入控件设置过滤器 .
在telerix ajax回发期间,这是一种更容易从表单传回参数的方法 .
只需挂钩全局$ .ajaxPrefilter事件并使用jquery将from的内容序列化为正在提交的URL . 这将与ASP.MVC模型绑定一起使用