2

我有一个清单:

public List<Sale> AllSales { get; set; }

我想在 jquery 中循环它:

 $(document).ready(function() {

            for (var i = 0; i < <%= AllSales %>; i++) {
                 alert("test");
            }

         });

但是我没有收到任何警报或任何东西,我做错了什么?

4

4 回答 4

4

您需要使用Count属性,例如

$(document).ready(function() {

        for (var i = 0; i < <%= AllSales.Count %>; i++) {
             alert("test");
        }

});
于 2012-12-26T15:40:17.383 回答
2

使用AllSales.Count而不是AllSales限制循环。如果您想访问列表的值,那么您可能需要使用ajax将这些值带到 javascript。

$(document).ready(function() {

     for (var i = 0; i < <%= AllSales.Count %>; i++) {
             alert("test");
     }
});
于 2012-12-26T15:39:41.047 回答
0

您可以使用 jquery 来获取下拉对象的计数:

var myCount = $('#myDropDown > option');

...然后在循环定义中使用这个新变量。

于 2012-12-26T15:41:14.280 回答
0

考虑你的类型视图

@model List<Sale>

尝试这个:

for (var i = 0; i < <%= Model.Count %>; i++) {
    // operations...
}

如果它是您模型的属性,请尝试以下操作:

for (var i = 0; i < <%= Model.AllSales.Count %>; i++) {
   // operations...
}

我还建议您更改 from List<Sale>toIEnumerable<Sale>并使用Count()from 方法从 获取列表的长度System.LinqIEnumerable比更抽象List,您将受到保护,可以在“查看列表”范围内添加项目。

于 2012-12-26T16:02:45.817 回答