2012-04-02 41 views
3

我有一個IEnumerable的 <>轎車(這不會讓我用尖括號正確)在我看來,使用的模型: 和我的JavaScript我要創建對象的相應的陣列在我的模型中反對。我有麻煩遍歷,我在JavaScript模型 如果我用剃刀,JavaScript代碼是不工作迭代通過IEnumerable的型號在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> 

謝謝!

回答

3

你混合服務器端和客戶端的代碼。

如果你想在服務器上吐出客戶端代碼,你可以。

但最好是將您的模型數據串入到JSON並放到客戶端。


粗糙例如:

更新

@{ 
    var js = new JavaScriptSerializer(); 
} 

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

謝謝。任何簡單的例子或文章,我可以參考?謝謝, – mishap 2012-04-02 16:35:14

+0

請看我的更新。 – Aliostad 2012-04-02 16:39:11

4

你試過用<text>標籤包裝內容嗎?

var carsArray = new Array();  

@foreach (var item in Model) 
{ 
    <text>carsArray.push("@item.Property")</text> 
} 
+0

非常好。我用這個代碼並且效果良好 – 2017-11-05 12:23:02