我想从C#后面的代码返回序列化集合到javascript metod,然后这个javascript方法迭代正常的所有元素。我做了这个,但元素像正常的字符串字符一样迭代。
public string Alerts()
{
JavaScriptSerializer serializer = new JavaScriptSerializer();
IList<string> alerts = new List<string>();
alerts.Add("1");
alerts.Add("2");
string[] arrays = new string[] { "1", "2", "3" };
return serializer.Serialize(arrays);
}
<script type="text/javascript">
window.onload = function () {
alerts('<%= this.Alerts() %>');
};
</script>
我希望在js中迭代时的返回值是第一个索引1秒2 thrit 3等等。这里不正常。
答案 0 :(得分:1)
试试这个
<script type="text/javascript">
window.onload = function () {
var arr = <%= this.Alerts() %>;
for (var i in arr)
alert(arr[i]); // Iterate over each element in array returned from C# code
};
</script>
答案 1 :(得分:1)
您正在编码序列化程序输出:
public string Alerts()
将返回
["1","2","3"]
当你去
alerts('<%= this.Alerts() %>');
你在说
alerts('["1","2","3"]');
所以跳过单引号就可以了。
答案 2 :(得分:-1)
包含jquery并尝试此
<script type="text/javascript">
window.onload = function () {
var arr = <%= this.Alerts() %>;
var arrList = JSON.parse(arr);
console.log(arrList);
};
</script>