Lorsque j'essaie d'appeler le .dataBind() sur un objet Telerik Grid en javascript, il émet une exception. Le même code que j'utilisais fonctionnait très bien avec une version précédente des contrôles Telerik (2010.2.930) mais depuis la mise à jour (en utilisant NuGet) vers la dernière version (2011.2.712), le code s'est cassé.Client Telerik MVC Grid .dataBind() jetant l'exception
Voici les différentes erreurs sur différents navigateurs.
Firefox 6: this.dataSource est indéfini (telerik.grid.min.js - ligne 1)
Chrome 13: Uncaught TypeError: Impossible d'appeler le 'succès' méthode non définie (telerik.grid.min js: 1)
IE 9: SCRIPT5007: Impossible d'obtenir la valeur de 'succès' propriété: objet est nul ou non défini (telerik.grid.min.js, ligne 1 caractère 25697)
j'ai réussi à créer un repo très simple, tout ce que vous devez faire est de mettre dans une nouvelle page:
<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>
La classe GridData est simplement un objet POCO simple avec des propriétés de chaîne Name et Description.