javascript - 如何在 JavaScript 中使用带有 ILIST<models> 的 foreach 循环?

标签 javascript c# .net asp.net-mvc-3 razor

您好,我的 MVC 3 应用程序中有一个 Razor View ,使用 @model IList<TrackerModel>

IList<TrackerModel>正在从我的 Controller 中的操作方法传递到 View 。 顾名思义,它是一个 TrackerModels 的列表。 .

我想将此列表传递给 View 底部的 javascript block 。

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

foreach(var mod in IList<TrackerModel>)
{
     LoadAttachments();
}

(我知道上面是错误的,但你明白了) 这可以做到吗?

   @foreach(var mod in Model)
{
    LoadAttachments(@Newtonsoft.Json.JsonConvert.SerializeObject(mod));
}

尝试了上述建议,但出现以下错误。 @foreach = 条件编译已关闭?

var = 期望的表达式?

in = 预期; ?

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

@Newtonsoft = 条件编译已关闭?

最佳答案

如果您想采用这种方法(而不是让 javascript 回调到专用的 Web 服务),您将需要将模型渲染为 javascript 可以使用的内容,例如 json 数组。

例如在您的 View 中

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

这将调用您的javascriptFunc对于您 IList<TrackerModel> 中的每一项。每个TrackerModel使用 Newtonsfot.Json 进行序列化,Mvc 应该自动包含它,但如果它不在 Mvc 3 中,您可以通过 nuget 添加它:https://www.nuget.org/packages/Newtonsoft.Json

关于javascript - 如何在 JavaScript 中使用带有 ILIST<models> 的 foreach 循环?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27407091/

相关文章:

c# - Resources.Load 返回 null

.net - 使用其他 DLL 的 PInvoke DLL - ClickOnce 问题

c# - 在 .NET 中使用属性的性能开销

javascript - 如何使用 jquery "on"选择前一个元素?

使用唯一 ID 进行 Javascript 测试

javascript - 带有 CSS 动画问题的 jQuery 可点击下拉列表

c# - 厘米到像素

javascript - 在保持比例的同时动态缩小图像

c# - 可以更改 NHibernate 的格式来制定绑定(bind)变量吗?

c# - 使用 System.Threading.Tasks.Parallel 在线程池中创建新线程?