2012-09-21 2 views
2

Je développe une application Web utilisant MVC4. et j'ai HandsOnTable dans l'interface utilisateur. J'ai essayé de lier les données en utilisant JSON, mais ne peux pas. et ne dit pas montre une erreur. Voici l'extrait de codeComment lier HandsonTables dans MVC

$.ajax({ 
      url: "/Customer/GetSpreadSheetGrid", 
      type: "GET", 
      dataType: "json", 
      data: { customerId: customerID } 
     }) 
      .success(function (result) { 
    var vSpreadSheet = document.getElementById("SpreadSheetgrid"); 
     $("#SpreadSheetgrid").handsontable("loadData", result); 
    }) 
    .fail(function (r, o) { 
     alert("Failed : " + r.responseText); 
    }); 
    } 

et voici ma méthode du contrôleur

public JsonResult GetSpreadSheetGrid(int customerId) 
    { 
IEnumerable<tblCustomerSpreadsheetInfo> resResult = null; 
// Calling SP 
resResult = _customer.GetCustomerCustomInfoByCustomerID(customerId); 
return Json(resResult, JsonRequestBehavior.AllowGet); 
    } 

Ce qui est l'erreur dans ce code.

+0

qui échoue ici .. ajax ou handsontable? – amesh

Répondre

0

Modifier votre jquery ajax comme suit (garder un débogueur dans les deux fonctions de succès et d'échec. Utilisant IE et débogage Visual Studio il. Vous pouvez y voir des erreurs le cas échéant.

$.ajax({ 
     url: "/Customer/GetSpreadSheetGrid", 
     type: "GET", 
     data: { customerId: customerID }, 
     contentType: "application/json; charset=utf-8", 
     success: function (_results) { 
      debugger; 
      var vSpreadSheet = document.getElementById("SpreadSheetgrid"); 
      $("#SpreadSheetgrid").handsontable("loadData", result); 
     }, 
     error: function (_results, status) { 
      debugger; 
     } 
    }); 
+0

Question muette: En utilisant ASP.NET MVC, le rendu original de la table sur la première page Web est-il normalement rendu par une vue? Je comprends que paging ultérieur est fait en utilisant un appel ajax qui renvoie JSON, mais n'ayant pas beaucoup d'expérience dans le développement web, je ne peux pas imaginer pleinement comment cela fonctionne. Le serveur construirait-il dynamiquement la première page avec les données json intégrées dans le javascript créé dynamiquement? Je ne pense pas. Je me demande comment nous obtenons cette première liaison de données lorsque nous initialisons la table en tant que handsontable. Désolé pour mon ignorance – ChadD

3
<div id="dataTable" class="dataTable"></div>  
$("#dataTable").handsontable({ 
     rows: 6, 
     cols: 8, 
     contextMenu: true, 
     colHeaders: true 
    }); 
    var url = "/Home/GridData"; 
    $.get(url, null, function (data) { 
    $("#dataTable").handsontable("loadData", data); 
    strong text}); 

C'est le méthode HomeController

public JsonResult GridData() 
     { 
      var jsonData = new[] 
         { 
          new[] {"1", "4", "Is this a good question?"}, 
          new[] {"2", "5", "Yes."}, 
          new[] {"3", "6", "It is!"} 
         }; 

      return Json(jsonData, JsonRequestBehavior.AllowGet); 
     } 

I oBTENUS liant méthode du contrôleur à un handsontable avec ce code. Mais je suis vraiment en difficulté d'obtenir des données et en le passant comme chaîne [] [] à une méthode de contrôleur.

Questions connexes