2013-09-25 36 views
0

我有一个公开的IEnumerable对象的asp.net用户控件。这可以转换为列表或数组,如果它有助于回答这个问题。我想要做的是循环遍历javascript函数中的所有服务器对象,并对每个项目的内容进行操作。如果可能,我希望使用内联服务器标签来实现此目的。像下面的东西。在JavaScript中使用内联服务器标签收集迭代

function iterateServerCollection() 
{ 
    foreach(<%=PublicCollection %>) 
    { 
     var somevalue = <%=PublicCollection.Current.SomeValue %>; 
    } 
} 

可以做到这一点吗?

+3

一种方法是你的.NET集合序列化到客户端的JavaScript阵列(看看在System.Web.Script.Serialization JavaScriptSerializer类)的JavaScript,然后循环通过在客户端上。你也想在javascript中使用for循环 – geedubb

+0

客户端javascript不可能遍历服务器端asp.net对象。你想做什么? – Kami

+0

设法使用JavaScriptSerializer来做我想做的事。谢谢geedubb – rdans

回答

1

设法实现我想要感谢评论该函数的开始获取数据从geedubb。以下是JavaScript的工作原理。

var myCollection = <%= new System.Web.Script.Serialization.JavaScriptSerializer().Serialize(myCollection) %>; 

for(var i in myCollection) 
{ 
    var somevalue = myCollection[i].SomeValue; 
} 
+0

很高兴帮助;) – geedubb

0

正如其他人建议我会做和序列化对象,你甚至可以使用一个AJAX调用从

function iterateServerCollection() 
{ 

    //Ajax call to get data from server HttpHandler/WebAPI/Service etc. 

    for(var item in resultObject) { 
     //you can use item.WhateverPropertyIsOnObject 
    } 
}