2013-06-25 2 views
0

Для простоты вопроса модель, которую я отправляю на просмотр, содержит свойство, которое имеет тип ICollection<Person> Persons { get; set; }.Прокрутка коллекции с помощью jquery

На мой взгляд, он скрыт так:

@Html.HiddenFor(model => model.Persons) 

После того, как ActionLink нажата, первый и фамилия человека будет добавлен к (кендо) сетки.

$('#add').click(function (personObject) 
    { 
     var personId= $("#PersonId").val(); 
     alert(personId); 


     return false; 
    }); 

Дополнительная информация: человек выбирается из выпадающего списка. За этим DDL находится ActionLink, у которого есть HtmlAttribute, указывающий на функцию JQuery, которую необходимо вызвать.

Это все работает нормально.

То, что я пытаюсь выполнить здесь, - это поиск первого и последнего имени человека, выбранного из раскрывающегося списка.

Основываясь на Ид этого человека, мне нужно, чтобы получить имя и фамилию из скрытого свойства коллекции «Лица»:

@Html.HiddenFor(model => model.Persons) 

Как я могу сделать это с помощью JQuery?

+0

Отображение HTML будет убрать вещи. Что такое сгенерированный код? – Broxzier

+0

было бы лучше, если бы ваш HTML-элемент содержал JSON для объекта, тогда вы можете перебирать объект с помощью jQuery. – abc123

+0

@ abc123, вы имеете в виду вместо ICollection, JSON? Как я могу это сделать? – Yustme

ответ

2

Вам необходимо сериализовать свою коллекцию в формате, который вы можете прочитать в javascript.

Например:

@Html.Hidden("Persons", Json.Encode(Model.Persons)) 

Затем вы можете разобрать эти данные, используя что-то вроде:

<script> 
    var persons = JSON.parse($("#Persons").val()); 
</script> 
+0

Привет, это сделал трюк, спасибо вам большое! – Yustme

+0

и был JSON, хорошая работа @ Мартин Эрнст – abc123

0

HiddenFor не будет работать с коллекциями, только с одиночными значениями. Почему бы не получить имена из модели или позвонить на сервер.

+0

Привет, я знаю, но это было для простоты вопроса. Слишком много, чтобы объяснить. Прости. – Yustme

Смежные вопросы