2011-08-29 4 views
1

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.

Répondre

0

On dirait que c'était un bug dans leur code. J'ai émis un ticket de support avec Telerik et ils m'ont donné un correctif.

Malheureusement, je ne peux pas créer de lien car c'est un message privé. Mais, ne craignez pas, je ne parviens à trouver un lien sur une page du forum public:
http://www.telerik.com/community/forums/aspnet-mvc/general/gridroutevalues-allowhtml.aspx

Si cela ne fonctionne pas, vous pouvez toujours attendre jusqu'à ce qu'il soit fixé dans la liste suivante NuGet.