2013-09-25 33 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 
    } 
}