Les données JSON à KENDO UI Grille ASP.NET MVC 4
J'ai peu de la difficulté à obtenir les données à afficher sur mon Kendo.De la grille.
JSON est valide, et il affiche en cliquant sur le lien texte, mais le chargement des données n de la Grille.
Ici est la source, toute aide serait appréciée!
br. Eero
Contrôleur
public ActionResult Index([DataSourceRequest]DataSourceRequest request)
{
using (var db = new CimDataContext())
{
IQueryable<Customer> customers = db.Customers;
DataSourceResult result = customers.ToDataSourceResult(request);
return Json(result, "text/x-json", JsonRequestBehavior.AllowGet);
}
}
Index.cshtml
@(Html.Kendo().Grid<KendoUIMvcCim.Models.Customer>()
.Name("grid")
.DataSource(dataSource => dataSource
.Ajax()
.Read(read => read.Action("Index", "Customer"))
)
.Columns(columns =>
{
columns.Bound(customer => customer.Id);
columns.Bound(customer => customer.Name);
columns.Bound(customer => customer.Number);
columns.Bound(customer => customer.AgentID);
columns.Bound(customer => customer.Info);
columns.Bound(customer => customer.Email);
columns.Bound(customer => customer.StartTime);
columns.Bound(customer => customer.EndTime);
columns.Bound(customer => customer.Category);
})
.Pageable()
.Sortable()
)
Résultat sur navigateur
{"Data":[{"Id":2,"Name":"Name1","Number":"040000000","AgentID":"1","Info":"info1","Email":"email1","StartTime":"\/Date(1360101600000)\/","EndTime":null,"Category":"Laser"},{"Id":3,"Name":"Name2","Number":"0400000000","AgentID":"2","Info":"info2","Email":"email2","StartTime":"\/Date(1360188000000)\/","EndTime":null,"Category":"Kaihi"}],"Total":2,"AggregateResults":null,"Errors":null}
Je pense que vous avez oublié d'ajouter jquery min js dans votre page ajouter cette jquery
Je pense que le Kendo fichiers et JQuery sont chargés correctement comme je peux obtenir les données de la grille à l'aide de .BindTo ViewBag Méthode.
Jquery-1.8.1.min.js
.Je pense que le Kendo fichiers et JQuery sont chargés correctement comme je peux obtenir les données de la grille à l'aide de .BindTo ViewBag Méthode.
OriginalL'auteur Porttila | 2013-08-26
Vous devez vous connecter pour publier un commentaire.
Je pense que le problème, c'est que votre méthode d'action est de retour une chaîne JSON, tandis que votre vue s'attendre à une liste de
KendoUIMvcCim.Models.Customer
. Utiliser deux différentes méthodes d'action dans votre contrôleur à cette adresse:Première action renvoie une ViewResult et est nécessaire pour la Vue
Deuxième action est de retour ActionResult et est nécessaire par votre grille à remplir par les appels AJAX.
Dans votre Index.cshtml fichier que vous avez finalement besoin de changer le
.Read
ligne de sorte que vous appelez le droit d'action de la méthode dans votre contrôleur.Veuillez vérifier mes complètement nouvelle réponse. Je me suis souvenu que j'avais le même problème que vous avez eu et c'est comment je l'ai résolu!
Toujours en difficulté, maintenant, la Grille s'ouvre, sans les données. Si je clique sur l'en-tête pour trier ou quelque chose, il ouvre simplement la même JSON entrée dans le texte comme avant. Putain moi, cela ne devrait pas être dur, été de travailler principalement avec VB.NET applications Windows donc c'est un peu nouveau pour moi.
De vérifier ma nouvelle mise à jour
Dans mon exemple, j'ai mis à jour suis d'envoyer des données directement à l'affichage et il est nécessaire pour la grille de travailler correctement. Lorsque je préparais le premier exemple pour vous j'ai coupé trop de code. Je pense que ça devrait fonctionner maintenant.
OriginalL'auteur Ohlin
Je sais que c'est un vieux post, mais pour ceux qui sont encore en difficulté:
Être sûr de ne pas être compris jquery 2 fois si vous êtes un copier/coller à partir du Kendo de la documentation, que vous pouvez déjà avoir dans votre fichier.
Cela dit, mis à jQuery de référence dans l'en-TÊTE de votre page, à la place du fond, sinon le kendo grille va essayer de rendre avec jQuery avant qu'il soit importé.
Espère que cette aide
OriginalL'auteur Alexander D
Finale du code de travail:
Contrôleur
Index.cshtml
)
OriginalL'auteur Porttila