【问题标题】:Accessing ArrayList in Javascript - ASP.Net MVC2在 Javascript 中访问 ArrayList - ASP.Net MVC2
【发布时间】:2010-05-10 20:21:15
【问题描述】:

我的模型中有 ArrayList,并想在 javascript 中遍历它。我正在使用以下代码,但它给了我错误:CS0103:当前上下文中不存在名称“i”

for(var i=0; i <= <%=Model.KeyList.Count%>; i++)
{
    alert('<%=Model.KeyList[i]%>');      
}  

我该如何解决这个问题?

【问题讨论】:

    标签: javascript asp.net asp.net-mvc arraylist


    【解决方案1】:

    这行不通。 c# 代码在执行 javascript 代码之前在服务器端执行,因此执行 c# 代码时变量 i 不存在。我真的不能告诉你如何解决它,因为你没有说你想做什么。但是您需要在 c# 循环中迭代列表服务器端,或者在 js 循环中迭代客户端。你不能把它们混在一起。

    【讨论】:

      【解决方案2】:

      该代码不起作用。 foreach 在客户端进行评估, 指令在服务器进行评估。因此,“i”不存在,它只存在于客户端的浏览器中。

      【讨论】:

        【解决方案3】:

        如果要使用JS解析列表,需要将其转换为javascript数组。您需要生成的最终结果是使用 { } 表示法(如 { name: "a", value: "b" })并用 [] 包装的对象集合。

        所以你需要生成这个客户端代码并在客户端解析它,或者废弃它并在服务器上处理它。或者,创建一个返回 JsonResult 并返回数组的动作结果; MVC 框架应该为您自动转换;您必须通过 AJAX 使用 JavaScript 请求。

        HTH。

        【讨论】:

          猜你喜欢
          • 2011-02-14
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-04-20
          • 1970-01-01
          相关资源
          最近更新 更多