当我尝试在javascript中的Telerik Grid对象上调用.dataBind()时,它会引发异常。我使用的代码与以前版本的Telerik控件(2010.2.930)一起工作得很好,但自从更新(使用NuGet)到最新版本(2011.2.712)后,代码已损坏。Telerik MVC Grid客户端.dataBind()抛出异常
这些是不同浏览器上的各种错误。
火狐6: this.dataSource是未定义的(telerik.grid.min.js - 第1行)
铬13:未捕获的类型错误:无法调用未定义(telerik.grid.min的方法 '成功'的.js:1)
IE 9: SCRIPT5007:无法获取的属性 '成功' 的值:对象为空或未定义(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类只是一个带有Name和Description字符串属性的简单POCO。