簡體   English   中英

使用javascript將JSON對象綁定到asp.net gridview控件

[英]Bind JSON object to asp.net gridview control using javascript

我的jquery ajax將代碼稱為靜態WebMethod,我使用System.Web.Script.Serialization.JavaScriptSerializer來獲取JSON對象,並且輸出是這樣的。

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

我有GridView(asp.net控件),其中具有ProductId,類別,產品,價格列。 我應該使用JavaScript將此json對象綁定到gridview。

我什至不知道如何在上述Json字符串上申請循環。 請對此進行一些說明。

您可以像這樣遍歷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 Grid Events,因為它是用於顯示的純HTML標記

您無法使用默認的asp.net網格來執行此操作, 針對基於json的網格簽出jQGrid

要反序列化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作為數據源來綁定控件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM