2012-02-12 48 views
0

我想從我的按鈕中單擊服務器端調用一個JavaScript函數,並將ArrayList,字符串數組或列表作爲參數傳遞給該函數。 然後,我需要遍歷這些集合的所有元素,並對數據執行一些操作。 你能告訴我的JavaScript代碼來訪問這些元素 考慮下面的結構,我在JavaScript的如何從javascript訪問數組列表,字符串數組或列表?

Function ABC(_Arraylist/List/String Array){ 

//I would like to perform some action on the collections data here. 
} 

感謝。

+0

參見[JSON](http://www.json.org/js.html) – Shai 2012-02-12 09:07:02

回答

3

服務器:

// this could also be a string[] if you prefer 
var array = new List<string> { "foo", "bar", "baz" }; 
var serializer = new JavaScriptSerializer(); 
var script = string.Format("foo({0});", serializer.Serialize(array)); 
ClientScript.RegisterStartupScript(GetType(), "call", script, true); 

客戶:

function foo(array) { 
    for (var i = 0; i < array.length; i++) { 
     alert(array[i]); 
    } 
} 
+0

有什麼參考類新增加調用「JavaScriptSerializer」功能? – Pankaj 2012-02-12 09:15:26

+0

@PankajGarg,它是:http://msdn.microsoft.com/en-us/library/system.web.script.serialization.javascriptserializer.aspx。命名空間:'System.Web.Script.Serialization',程序集:'System.Web.Extensions.dll'。 – 2012-02-12 09:16:51

+0

用於JavaScript Serializer的+1。如果你試圖在沒有序列化的情況下傳遞參數,它會在Javascript控制檯上給出非法字符運行時錯誤 – Pankaj 2012-02-12 09:35:11