2012-06-10 60 views
0

我試圖將JSON數據綁定到客戶端的RadioButtonList。我知道如何在代碼背後,它工作正常。有人請提供更多詳細信息,如何綁定VB.NET中的JSON數據RadioButtionList。ASP.NET JSON使用RadiobuttonList綁定數據

rblregions.DataTextField = "Value" 
rblregions.DataValueField = "Key" 
rblregions.DataSource = items 

的數據是這樣的:[regions:{regionID:US,regionName:USA}]

main.aspx

<asp:RadioButtonList ID="rblregions" runat="server"> 

$.getJSON("Map/loadMySites.aspx?" + query, 
    function (data) { 
     if (data.regionid && data.region) { 
      //I want to bind the data here with RadioButtonList 
     } 

    } 
); 
+1

你想在客戶端或服務器端做到這一點?如果客戶端的HTML看起來如何? – Shyju

+0

我想用VB.NET在客戶端綁定它。謝謝 – user1385570

回答

2

VB.NET是服務器端。 你不能用VB.NET做客戶端。你應該用javascript來做。

單選按鈕列表的ASP.NET標記通常會生成一個HTML表格。讓我們假設它是這樣的

<table id="rblregions"><tbody></tbody></table> 

假設你得到一個JSON像這樣從你的服務器頁面,

{ 
    "regions": [ 
     { "regionID": "US", "regionName": "USA" }, 
     { "regionID": "UK", "regionName": "United Kingdom" } 
    ] 
} 

你可以這樣做

$.getJSON("Map/loadMySites.aspx?" + query,function(data){ 
    var rows=""; 
    $.each(data.regions,function(index,item){ 
     rows+="<tr><td>"+item.regionName+"</td></tr>"; 
    });  
    $("#rblregions> tbody:last").append(rows);  
}); 

這裏是一個的jsfiddle樣本http://jsfiddle.net/LM6fF/10/

如果您的單選按鈕列表是在另一個asp.net容器元素(ex面板)內,元素的ID不會像rblregions。所以我建議你使用類名而不是ID作爲jQuery選擇器。

jsonlint是驗證您的JSON的好工具。

+0

+1,因爲你花時間解釋了問題,甚至整理了一個解決方案的工作示例,並沒有得到OP的確認。 –

+0

@JoelMueller:謝謝! :) – Shyju