我有ArrayList在我的模型,并希望通过它在JavaScript中迭代。我使用下面的代码,但它给我的错误:CS0103:名称“我”不会在目前情况下在Javascript中访问ArrayList - ASP.Net MVC2
for(var i=0; i <= <%=Model.KeyList.Count%>; i++)
{
alert('<%=Model.KeyList[i]%>');
}
如何解决这个问题存在吗?
我有ArrayList在我的模型,并希望通过它在JavaScript中迭代。我使用下面的代码,但它给我的错误:CS0103:名称“我”不会在目前情况下在Javascript中访问ArrayList - ASP.Net MVC2
for(var i=0; i <= <%=Model.KeyList.Count%>; i++)
{
alert('<%=Model.KeyList[i]%>');
}
如何解决这个问题存在吗?
该代码不起作用。该foreach在客户端进行评估,并且<%...%>指令在服务器上进行评估。出于这个原因,“我”不存在,它只存在于客户端的浏览器上。
这是行不通的。 c#代码在执行javascript代码之前在服务器端执行,因此执行c#代码时变量i不存在。我不能告诉你如何解决这个问题,因为你不说你想做什么。但是你以太需要在c#循环中迭代列表服务器端,或者在js循环中迭代客户端。你不能将它们混合在一起。
如果你想使用JS解析列表,你需要将它转换为一个JavaScript数组。您需要生成的最终结果是{}表示法中的对象集合(如{ name: "a", value: "b" }
),并用[]包装。
因此,您需要生成此客户端代码并将其解析到客户端,或者将其取消并在服务器上处理它。或者,创建一个返回JsonResult并返回数组的操作结果; MVC框架应该会自动转换为你;你必须通过AJAX通过JavaScript请求。
HTH。