1

我有一个需要运行的 JavaScript 函数。它需要一些参数。实际参数在我的视图模型的集合中。这个 JavaScript 函数需要被调用的次数与集合中的元素一样多,每次都将集合的元素作为各自的参数。

该函数需要在文档加载时调用。所以,我想我应该把这个函数的调用放在document.ready. 问题是我不知道如何遍历我的 C# 集合并同时生成 Javascript。你知道我怎么能做到这一点吗?任何帮助将不胜感激。

4

2 回答 2

4

您可以将视图模型序列化为 JSON 并将其呈现在视图的脚本块中:

<script type="text/javascript">
    $(function() {
        var collection = @Html.Raw(Json.Encode(Model));

        $.each(collection, function (i, value) {
           yourFunction(value);
        });
    });
</script>
于 2012-07-12T09:32:32.937 回答
3

第一步:
将集合转换为 JSON 并将其放入 viewbag :

ViewBag.Collection = Json.Encode(your - collection)

第二步:

使用 Viewbag 中的那个集合

<script>
$(document).ready(function(){
var collection = @Viewbag.collection;
});
</script>

第三步:
使用该对象遍历它并在其中做一些事情:

<script>
    $(document).ready(function(){
    var collection = @Viewbag.collection;
    $.each(collection , function() {
     //Do Stuff
    });
    });

 </script>
于 2012-07-12T09:34:49.827 回答