在 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】:您是否尝试将内容包装在<text>
标签中?
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 模型的主要内容,如果未能解决你的问题,请参考以下文章