2013-07-09 92 views
0

我有datarow從database.how編寫我可以訪問JavaScript中的列表? 請幫忙。訪問服務器端列表到javascript

StringBuilder sb = new StringBuilder(); 
     sb.Append("<script>"); 
     sb.Append("var testArray = new Array;"); 
     foreach (DataRow str in result) 
     { 
      sb.Append("testArray.push('" + str.ItemArray[1].ToString() + "');"); 
     } 
     sb.Append("</script>"); 
     Page.ClientScript.RegisterStartupScript(this.GetType(), "test", "test('"PassTestArrayHere"');", true); 
+0

從來沒有聽說過JSON的? http://james.newtonking.com/projects/json-net.aspx –

+0

看看這個SO回答:http://stackoverflow.com/questions/11826936/pass-list-item-from-c-sharp-to- javascript-array –

+0

兩種方法之一。或者1)在頁面加載時將數據呈現給頁面,或者; 2)從頁面向服務器發出AJAX調用以獲取數據。除非您有充分的理由使用後一種選項,否則第一種選擇更容易。無論如何,這段代碼試圖做什麼?呈現的JavaScript看起來是什麼樣子,它以什麼方式失敗? – David

回答

1

你的腳本將無法工作,而不是使用 sb.Append("testArray.push('" + str.ItemArray[1].ToString() + "');"); 您可以在數組轉換成JSON並返回到客戶端。如果你還願意跟着你接近,你應該將數組轉換成字符串,如格式:String a = "['item0', 'item1', 'item2']";然後:

Page.ClientScript.RegisterStartupScript(String.GetType(), "test", "test(" + a + ");", true);