2012-04-02 1 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); 

// Ошибка: Имя «я» не существует в текущем контексте

//add to array 

} 

</script> 

Спасибо!

ответ

3

Вы смешиваете код на стороне сервера и на стороне клиента.

Если вы хотите выплевывать код на стороне клиента на сервере, вы можете.

Но лучше всего сериализовать данные модели в JSON и нанести на клиента.


Грубый пример:

Update

@{ 
    var js = new JavaScriptSerializer(); 
} 

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

спасибо. Любой простой пример или статья, на которую я мог бы ссылаться? Спасибо, – mishap

+0

PLease см. Мое обновление. – Aliostad

4

Вы пробовали обертывать содержимое в тегах <text>?

var carsArray = new Array();  

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

очень хорошо .Я использовал этот код и результат хороший –