使用内联服务器标记在 JavaScript 中进行集合迭代

本文关键字:JavaScript 迭代 集合 服务器 | 更新日期: 2023-09-27 18:32:39

我有一个 asp.net 用户控件,它公开了一个公共的IEnumerable对象。如果有助于回答问题,则可以将其转换为列表或数组。我想做的是遍历 javascript 函数中的所有服务器对象,并对每个项目的内容执行一些操作。如果可能的话,我想使用内联服务器标签来实现这一点。像下面这样。

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

有可能做到这一点吗?

使用内联服务器标记在 JavaScript 中进行集合迭代

由于 geedubb 的评论,设法实现了我想要的。这是工作JavaScript的样子。

var myCollection = <%= new System.Web.Script.Serialization.JavaScriptSerializer().Serialize(myCollection) %>;
for(var i in myCollection)
{
    var somevalue = myCollection[i].SomeValue;
}

我会按照其他人的建议并序列化对象,您甚至可以使用 ajax 调用从该函数的开头获取数据

function iterateServerCollection()
{
    //Ajax call to get data from server HttpHandler/WebAPI/Service etc.
    for(var item in resultObject) {
        //you can use item.WhateverPropertyIsOnObject
    }
}