2012-05-30 3 views
0

У меня есть проблема с MVC 3 с бритвой.MVC Razor and Javascript

Так что ситуация довольно проста.

Контроллер

public ActionResult TreeView() 
    { return PartialView(Context.LEFT_NAVIGATION_T.ToList()); } 

Контекст возвращает список сущностей ...

Теперь то, что я хочу сделать, это:

На взгляд у меня есть следующие JavaScript:

<script type="text/javascript"> 

function OnTreeViewNodeClick(s, e) 
{ 
var tn= e.node.name; 
//test 
alert('@Model.Find(x => x.ID == ???).TITLE'); 

} 

Итак, onTreeViewNodeClick - событие, назначенное Treeview.

Что я хочу сделать, это заменить ??? на выражение бритвы с var tn.

Возможно ли это?

Благодаря

+0

Спасибо за ваши комментарии! На самом деле мне удалось сделать по-другому .. Я проанализировал модель с помощью @ html.hidden, а затем я обращаюсь к ней из javascript document.getElementById. Однако это не чистый подход ... Мне нужно посмотреть, как получить список в массив javascript. –

ответ

1

Вы не можете смешивать этот вид разбора таким образом. Вам нужно будет разобрать модель в коллекцию жизнеспособных объектов javascript для поиска или использования AJAX для выполнения такого поиска. Если вы имеете дело с небольшими подмножествами данных, моим предпочтением будет создание пользовательского класса и включение вашей коллекции моделей в виде набора сериализованных объектов в этом классе. Если данные велики, вам будет намного удачнее использовать AJAX для извлечения отдельных json-объектов.

+0

Спасибо за ваши комментарии! На самом деле мне удалось сделать по-другому .. Я проанализировал модель с помощью @ html.hidden, а затем я обращаюсь к ней из javascript document.getElementById. Однако это не чистый подход ... Мне нужно посмотреть, как получить список в массив javascript. –

0

Вы либо должны иметь дерево в Json/массив или сделать AJAX вызов для получения данных.