asp.net mvc 2. Добавление в коллекцию viewModel (на стороне клиента) - PullRequest
1 голос
/ 22 января 2011

Я знаю, что вы можете привязать коллекцию viewModel на стороне клиента следующим образом:

    <%for(int i = 0; i < Model.contacts.Count; i ++){%>
        First Name: <%: Html.TextBoxFor(model => model.contacts[i].firstName) %>
        Last Name: <%: Html.TextBoxFor(model => model.contacts[i].lastName) %>
    <%}%>

... это позволит пользователю изменить информацию об имени, связанном с этой коллекцией, и когда форма будет отправлена ​​получающему действию, viewModel будет иметь соответствующие изменения.
Учитывая то, что я могу редактировать коллекцию viewModel с клиента, есть ли способ добавить в коллекцию viewModel и клиент? Например, добавьте новый контакт в список контактов viewModel. Я хочу разместить на своей странице простую кнопку «Добавить контакт», которая позволит пользователю добавить контакт в этот список, не переходя туда и обратно на сервер. Я пытаюсь сделать что-то невозможное. Я надеюсь это имеет смысл. Спасибо.

1 Ответ

1 голос
/ 22 января 2011

Вы можете оформить следующую запись в блоге от Стива Сандерсона, которая демонстрирует хороший подход к достижению того, что вы ищете.Кроме того, вместо написания кода, который вы указали в своем вопросе, я бы порекомендовал вам использовать шаблоны редактора, а затем просто замените его на:

<%= Html.EditorFor(x => x.contacts) %>
...