2012-07-09 79 views
0

我的jquery ajax調用了我的codebehing靜態WebMethod,並使用System.Web.Script.Serialization.JavaScriptSerializer來獲取JSON對象,輸出結果如下所示。將JSON對象綁定到asp.net使用javascript的gridview控件

[{"ProductId":"9","Category":"TV","Products":"Discovery","Price":15.97},{"ProductId":"25","Category":"TV","Products":"HBO","Price":15.97}] 

我的GridView其中有產品編號,類別,產品,價格列(asp.net控制)。我應該使用JavaScript將這個json對象綁定到gridview。

我甚至不知道如何申請循環上述JSON字符串。請在這裏顯示一些信息。

回答

1

您可以循環通過你的JSON數據這樣

var data=[{"ProductId":"9","Category":"TV","Products":"Discovery","Price":15.97}, 
      {"ProductId":"25","Category":"TV","Products":"HBO","Price":15.97}]; 

$.each(data,function(index,item){ 
    alert(item.ProductId); 
    alert(item.Category); 
}); 

要更換網,你可以建立的HTML標記一個表,即注入到DOM。

var itemRow="<table>"; 
$.each(data,function(index,item){ 
    itemRow+="<tr><td>"+item.ProductId+"</td><td>"+item.Category+"</td></tr>"; 
});   
itemRow+="</table>"; 

$("#divItems").html(itemRow); 

工作樣本http://jsfiddle.net/qS7uD/6/

但你不會得到在此之後,ASP.NET電網事件,因爲它是顯示純HTML標記

0

你不能做到這一點與默認的asp.net格,結賬jQGrid對JSON-基於網格

0

反序列化JSON的,你應該創建一個具有相同屬性的類,並使用JavascriptSerilzier這樣。

public class Product 
{ 
    public int ProductId{get;set;} 
    public string Category{get;set;} 
    public string Products{get;set;} 
    public decimal Price{get;set;} 
} 


myProducts List<Product> = new JavaScriptSerializer().Deserialize<List<Project>>(myJson); 

然後,您可以使用簡單的for-each循環遍歷產品列表。您也可以使用List作爲數據源來綁定您的控件。