我正在尝试使用Telerik ASP.net MVC Grid,并发现问题。
当我在使用Ajax绑定的普通View中使用网格时,它运行良好。但是,当我将网格放在由Ajax调用加载的部分视图中时,网格的Ajax绑定不起作用。从firebug,我发现获取数据的ajax请求没有发送到服务器端。
我在stackoverflow中发现了一个类似的问题:Telerik MVC: Loading Grid with ajax request don't work,但找不到解决方案。
谢谢!
答案 0 :(得分:2)
我也有同样的问题,我发现解决方案基本上是由于telerik javascript文件。
<%: Html.Telerik().ScriptRegistrar().DefaultGroup(group => group.Combined(true).Compress(true)) %>
将代码复制并粘贴到正文结尾之前的母版页中,或者如果您不使用母版页,则将其放在您使用telerik的ajax绑定的每个页面上。
答案 1 :(得分:0)
原因是我使用ClientEvents
如下:
Html.Telerik().Grid(Model)
.....
.Selectable()
.ClientEvents(e => e.OnRowSelected("onRowSelected"))
我将onRowSelected
处理程序的js代码放在网格之后。
当我在网格之前移动onRowSelected
的js代码时,它可以工作。
答案 2 :(得分:0)
在ajax调用的OnSuccess事件中尝试这个(在Ajax.ActionLink或Ajax.BeginForm的AjaxOptions中)
OnSuccess = "function () {var html = $('#grid').html();$('#grid').html(html);}"
这会强制ajax调用获取数据。