J'ai essayé d'implémenter la fonction de grille de jQuery dans mon application Asp.Net MVC. Je teste tout sur XP maintenant, donc j'ai activé l'extension mvc (puisque j'utilise IIS 5)jQueryGrid n'appelle pas l'URL dans ASP.Net MVC
J'ai rencontré 2 problèmes.
- Ma grille jquery ne semble pas être appelée.
j'ai parlé tous les fichiers de la grille jquery & selon la méthode URL.Content() Voici mon headcontent:
jQuery(document).ready(function() { alert('loaded'); alert('starting jquery'); jQuery("#list").jqGrid ({ url: '/Bar.mvc/GridData/', datatype: 'json', mtype: 'GET', colNames: ['Id', 'Votes', 'Title'], colModel: [ { name: 'Id', index: 'Id', width: 40, align: 'left' }, { name: 'Votes', index: 'Votes', width: 40, align: 'left' }, { name: 'Title', index: 'Title', width: 400, align: 'left'}], pager: jQuery('#pager'), rowNum: 10, rowList: [5, 10, 20, 50], sortname: 'Id', sortorder: "desc", viewrecords: true, imgpath: '/scripts/themes/coffee/images', caption: 'My first grid' }); alert('jQuery done'); });
Mes deux premières alertes incendie. Mais une fois qu'il passe dans la fonction jGrid, la 3ème alerte ne se déclenche pas. Je pense qu'il pourrait être lié à l'URL, parce que j'ai mis un point d'arrêt sur la fonction dans le contrôleur et il ne sera jamais touché.
Mon deuxième problème est quand j'ai placé /Bar.mvc/GridData dans la barre d'adresse, pour voir si elle pourrait trouver la fonction, il me demande de télécharger un fichier de type json avec "Save File" de Firefox. . "dialogue.
Voilà ma fonction dans le contrôleur:
public ActionResult GridData(string sidx, string sord, int? page, int? rows)
{
int totalPages = 1; // we'll implement later
int? pageSize = rows;
int totalRecords = 3; // implement later
var jsonData = new
{
total = totalPages,
page = page,
records = totalRecords,
rows = new[]{
new {id = 1, cell = new[] {"1", "-7", "Is this a good question?"}},
new {id = 2, cell = new[] {"2", "15", "Is this a blatant ripoff?"}},
new {id = 3, cell = new[] {"3", "23", "Why is the sky blue?"}}
}
};
return Json(jsonData);
}