Telerik MVC Grid客户端.dataBind()抛出异常

时间:2011-08-29 19:39:40

标签: javascript asp.net-mvc telerik telerik-grid telerik-mvc

当我尝试在javascript中调用Telerik Grid对象上的.dataBind()时,它会抛出异常。我正在使用的相同代码与之前版本的Telerik控件(2010.2.930)工作得很好,但自从更新(使用NuGet)到最新版本(2011.2.712)后,代码已经破坏。

这些是不同浏览器上的各种错误。

Firefox 6: this.dataSource未定义(telerik.grid.min.js - 第1行)
Chrome 13:未捕获的TypeError:无法调用未定义的方法'success'(telerik.grid.min.js:1)
IE 9: SCRIPT5007:无法获取属性“success”的值:object为null或undefined(telerik.grid.min.js,第1行,第25697行)

我设法创建了一个非常简单的回购,你需要做的就是把它放在一个新的页面中:

<div>
    @(Html.Telerik().Grid(new List<GridData>())
        .Name("TestGrid")
        .Columns(column =>
        {
            column.Bound(e => e.Name).Title("Name").Width("9em");
            column.Bound(e => e.Description).Title("Description").Width("9em");
        }))
</div>
<p>
    <a id="getData" href="#">Bind Data</a>
</p>

<script type="text/javascript">
    (function ($) {
        $(document).ready(function () {
            $('#getData').click(bindGridData);
        });
    })(jQuery);

    var bindGridData = function() {
        var grid = $("#TestGrid").data("tGrid");

        var testData = [
            { Name: "Name 1", Description: "Description 1" },
            { Name: "Name 2", Description: "Description 2" }
        ];

        grid.dataBind(testData);
    };
</script>

GridData类只是一个带名称和描述字符串属性的简单POCO。

1 个答案:

答案 0 :(得分:0)

似乎这是他们代码中的错误。我发给Telerik的支持票,他们给了我一个修补程序。

不幸的是我无法链接到它,因为它是私人消息。但是,不要害怕,我确实设法在公共论坛页面上找到它的链接:
http://www.telerik.com/community/forums/aspnet-mvc/general/gridroutevalues-allowhtml.aspx

如果这不起作用,你可以一直等到它在下一个NuGet掉落中修复。