如何将foreach循环与ILST一起使用<;模型>;用javascript?

如何将foreach循环与ILST一起使用<;模型>;用javascript?,javascript,c#,.net,asp.net-mvc-3,razor,Javascript,C#,.net,Asp.net Mvc 3,Razor,您好,我在我的MVC 3应用程序中使用了@model-IList IList正在从我的控制器中的操作方法传递到视图。 顾名思义,它是一个TrackerModels列表 我想把这个列表传递给视图底部的javascript块 通过foreach循环运行列表,以便每个模型使用特定的函数。 例如 尝试了上述建议,并得到以下错误。 @foreach=条件编译是否已关闭 var=预期表达式 in=预期 LoadAttachments=名称“LoadAttachments”在当前上下文中不存在 @Newton

您好,我在我的MVC 3应用程序中使用了
@model-IList

IList
正在从我的控制器中的操作方法传递到视图。 顾名思义,它是一个
TrackerModels
列表

我想把这个列表传递给视图底部的javascript块

通过foreach循环运行列表,以便每个模型使用特定的函数。 例如

尝试了上述建议,并得到以下错误。 @foreach=条件编译是否已关闭

var=预期表达式

in=预期

LoadAttachments=名称“LoadAttachments”在当前上下文中不存在


@Newtonsoft=条件编译已关闭?

如果要采用这种方法(而不是让javascript调用专用web服务),则需要将模型呈现为javascript可以使用的对象,如json数组

比如在你看来

 <script>
 @foreach(var mod in Model)
 {
      @:javascriptFunc(@Newtonsoft.Json.JsonConvert.SerializeObject(mod));
 }
 </script>

@foreach(模型中的var mod)
{
@:javascriptFunc(@Newtonsoft.Json.JsonConvert.SerializeObject(mod));
}

这将为
IList
中的每个项目调用
javascriptFunc
。每个
TrackerModel
都使用Newtonsfot.Json进行序列化,Mvc应该自动包含该文件,但是如果它不在mvc3中,您可以通过nuget:

添加它,您需要在调用javascriptFunc之前添加
@:
。我在原来的帖子里忘了。这将指示razor以纯文本形式输出该行。根据您的条件编译,从,您需要在代码中添加
/*@cc\u on@*/
。我需要在代码中的何处添加/*@cc\u on@*/?在脚本标签中。我认为这不重要,但我会把你推迟到引用的问题上。但是,请尝试在当前上下文中不存在
@model
语句错误“cc_on”之后将其添加到视图顶部??不管我把它放在哪里?
   @foreach(var mod in Model)
{
    LoadAttachments(@Newtonsoft.Json.JsonConvert.SerializeObject(mod));
}
 <script>
 @foreach(var mod in Model)
 {
      @:javascriptFunc(@Newtonsoft.Json.JsonConvert.SerializeObject(mod));
 }
 </script>