在 JavaScript 中遍历 IEnumerable 模型

Posted

技术标签:

【中文标题】在 JavaScript 中遍历 IEnumerable 模型【英文标题】:Iterating through IEnumerable Model in JavaScript 【发布时间】:2012-04-16 07:56:39 【问题描述】:

我有一个 IEnumerable 在我的视图中使用的汽车模型(在这里它不会让我正确使用尖括号)模型: 在我的 javascript 中,我必须创建一个与模型中的对象相对应的对象数组。我无法在 JavaScript 中迭代我的模型 如果我使用剃须刀,javascript 代码不起作用

<script type="text/javascript">

var carsArray = new Array();     

@foreach (var item in Model)

    //add the and item to carsArray object


//OR
for(i=0;i<@Model.Count();i++)

    alert(@Model.ElementAt(i).Title);

//错误:名称'i'在当前上下文中不存在

 //add to array



</script>

谢谢!

【问题讨论】:

【参考方案1】:

您是否尝试将内容包装在&lt;text&gt; 标签中?

var carsArray = new Array();     

@foreach (var item in Model)

    <text>carsArray.push("@item.Property")</text>

【讨论】:

【参考方案2】:

您正在混合服务器端和客户端代码。

如果你想在服务器上吐出客户端代码,你可以。

但最好的是将模型数据序列化为 JSON 并放在客户端上。


粗略的例子:

更新

@
   var js = new JavaScriptSerializer();


myJavascriptObject.Models = @js.Serialize(myModels);

【讨论】:

谢谢。我可以参考任何简单的示例或文章吗?谢谢,【参考方案3】:

另一种方法是将服务器模型转换为 javascript,然后对其进行迭代。

你可以这样转换:

var model = @html.Raw(Json.Encode(Model));

这种方法对我有用。解决方案取自另一个 *** 答案:

Accessing MVC's model property from Javascript

【讨论】:

以上是关于在 JavaScript 中遍历 IEnumerable 模型的主要内容,如果未能解决你的问题,请参考以下文章

如何在JavaScript中的.forEach()遍历结束之后执行函数

在 JavaScript 中循环遍历“Hashmap”

在 JavaScript 中循环遍历数组的最快方法是啥?

在 JavaScript 中循环遍历数组的最快方法是啥?

如何在javascript中遍历选定范围内的每个节点?

[转] JavaScript中的属性:如何遍历属性