我有一个针对剑道网格的自定义读取功能....
public virtual async Task<ActionResult> Read([DataSourceRequest] DataSourceRequest request,
RecordStatus? recoredStatus){ // code here }
现在我希望通过使用jquery
在kendo中使用记录状态来刷新网格<script type="text/javascript">
function viewButtonClickHandler(e) {
alert(e.Id)
$('#Grid').data('kendoGrid').dataSource.read(e.Id);
$('#Grid').data('kendoGrid').refresh();
}
但我如何在读取函数中发送此附加参数(recordStatus)!我可以这样做吗?
答案 0 :(得分:1)
使用纯Java脚本,这就是你如何发送params来读取方法
$('#grid').data('kendoGrid').dataSource.Read({id:e.Id});
$('#Grid').data('kendoGrid').refresh();
在服务器端,你需要这个。
public ActionResult Products_Read([DataSourceRequest] DataSourceRequest request,int id){}
如果您正在使用基于MVC的网格telerik论坛已经有关于如何使用read发送额外参数的示例。
http://www.telerik.com/forums/pass-additional-parameters-to-read-ajax-datasource-method---mvc
答案 1 :(得分:1)
因此,如果您使用的是Kendo MVC UI,则可以将Data属性用于DataSource的Read方法。因此,当您请求读取操作时,将使用 -
执行客户端方法 DataHandlerName $('#Grid').data('kendoGrid').dataSource.read();
您可以轻松处理客户端脚本。您的服务器端代码将遵循Kendo GRID,
.DataSource(dataSource => dataSource.Ajax().ServerOperation(false).Read(r=> r.Action("ActionName","ControllerName").Type(HttpVerbs.Post).Data("DataHandlerName")))
您的客户端代码将是 -
<script>
function DataHandlerName() {
//your code will goes here
var request={
id:1
};
return request ;
}
</script>
你的行动方式将是,
public ActionResult ActionName([DataSourceRequest] DataSourceRequest request,int id){}
答案 2 :(得分:1)
如果我理解正确你就需要这个。还请看一下链接。它可以帮助你。
function onSomeButtonClick(){
grid_.dataSource.read({q:"test"});
}
http://www.telerik.com/forums/how-to-refresh-a-grid-with-parameters-dc0f416ce08a