2012-07-30 42 views
0

我正在寻找使用JSON数据填充我的网格。该数据是在下面的格式:将json数据渲染成asp.net中的网格mvc

[{ 
    "SiteId":"1", 
    "SiteName":"University of Minessota", 
    "SiteStatus":"Fully Operational" 
},{ 
    "SiteId":"2", 
    "SiteName":"MSP Airport-Humphrey", 
    "SiteStatus":"Settlement Required" 
},{ 
    "SiteId":"3", 
    "SiteName":"City Of Minneapolis-Lot C", 
    "SiteStatus":"Fully Operational" 
},{ 
    "SiteId":"4", 
    "SiteName":"TargetCenter", 
    "SiteStatus":"Low Tickets" 
},{ 
    "SiteId":"5", 
    "SiteName":"Excel Energy Center", 
    "SiteStatus":"Out Of Tickets" 
}] 

,我使用我的控制方法,通过这个来的观点:

public JsonResult StatusReport() 
{ 
    List<CenterStatus> status = MvcList.Models.CenterStatus.GetStatus(); 
    return this.Json(status, JsonRequestBehavior.AllowGet); 
} 

现在,在我看来,我需要填充这个JSON数据到一个网格:

$(document).ready(function() { 
    $.ajax({ 
     type: "POST", 
     contentType: "application/json; charset=utf-8", 
     url: "CenterStatus/StatusReport.aspx", 
     data: "{}", 
     dataType: "json", 
     success: function (data) { 
      for (var i = 0; i < data.d.length; i++) { 
       $("#GridView1").append("<tr><td>" + data.d[i].siteID + "</td><td>" + data.d[i].siteName + "</td><td>" + data.d[i].siteStatus + "</td></tr>");  
      } 
    }, 
    error: function (result) { 
     alert("Error"); 
    } 
}); 

但是我到目前为止还没有实现目标的运气。有什么建议么?

+0

检查用的HTTP跟踪工具之一(Fidder酒店,萤火虫等),你的回应,并检查你的反应。所以你可以告诉我们这是服务器端问题还是客户端问题。 – 2012-07-30 15:35:49

+0

你使用过jQuery Grid吗? http://stackoverflow.com/questions/11491459/jqgrid-asp-net-mvc-3-implementation-from-scratch/11491885#11491885 – 2012-07-31 03:10:29

回答

3

这样做。不要在回路中调用append。将其设置为一个变量,并且只能调用html函数一次。

success: function (data) { 
          var row="" 
          $.each(data,function(index,item){ 
           row+="<tr><td>"+item.SiteName+"</td></tr>"; 
          }); 
          $("#GridView1").html(row); 
         }, 

工作样本:http://jsfiddle.net/x76LD/1/

0

我猜url: "CenterStatus/StatusReport.aspx",可能有一些用它做。正确的网址,也许应该是:

url: "/CenterStatus/StatusReport"

1

可能是你应该在你的成功的功能使用的只是data代替data.d

+0

我同意。我从来没有遇到任何问题使用数据(而不是data.d)与> ASP.Net MVC 1.容易做一个console.log(数据)在成功看到的数据结构。 – Gromer 2012-07-30 16:21:28