0

我有一个要迭代的集合,它保存在 C# 变量中。

我想使用 Javascript 中的 for 循环对其进行迭代;这可能吗?

例如:

@{ int questionCount = 0;
foreach(var q in Model.Questions){ 
questionCount++;
}

...做一些 HTML ...

<script type="text/javascript">
jQuery(function () {


for (var i=1;i<=@questionCount;i++)
{        

    var d1 = @Model.Questions[i].Answers.Where(m => m.Answer == 1).Count(); 
    <-- this is where it breaks -->
}

});

我得到的错误说索引超出范围。我想这意味着一旦我将@符号放入该行,它就无法理解“i”。如何正确分隔字符串以使用变量 i(来自 Javascript)来迭代我的 C# 集合?

4

2 回答 2

1

这不起作用。您不能在服务器端代码块中访问客户端变量。

于 2012-10-22T09:47:32.667 回答
0

您不能在您的服务器端模型中使用javascript这些模型,这些模型仅在服务器端用于生成HTML

如果您确实需要javascript代码中的值,那么您可以将模型的值放在某个隐藏html元素中。

于 2012-10-22T09:47:44.803 回答