Обработка нескольких строго типизированных объектов в контроллере - PullRequest
1 голос
/ 18 июля 2009

Не совсем требование или еще что-нибудь, но вы можете сделать это в контроллере:

public ActionResult Edit(IEnumerable<Contact> contacts)
{
    //Loop through and save all records
    return View();
}

Это связано с желанием иметь в форме несколько записей, БЕЗ СЕТКИ и отправить все элементы. HTML-код будет похож на этот

<form>
    <input type="text" id="FirstName" value="Joe"/><input type="text" id="LastName" value="Smith"/><input type="hidden" id="PK" value="1"/>
    <input type="text" id="FirstName" value="Joe"/><input type="text" id="LastName" value="Smithen"/><input type="hidden" id="PK" value="2"/>
    <input type="text" id="FirstName" value="Joe"/><input type="text" id="LastName" value="Smiths"/><input type="hidden" id="PK" value="3"/>
    <input type="text" id="FirstName" value="Joe"/><input type="text" id="LastName" value="Smithy"/><input type="hidden" id="PK" value="4"/>
    <input type="text" id="FirstName" value="Joe"/><input type="text" id="LastName" value="Smithers"/><input type="hidden" id="PK" value="5"/>
<input type="submit" value="Save"/>
</form>

Вам нужно создать собственный роутер или как? Кто-нибудь? Bueller

Ответы [ 3 ]

0 голосов
/ 18 июля 2009

Прежде всего, замените все "id" на атрибут "name". Документ не может иметь несколько элементов с одинаковыми идентификаторами.

Что касается вашего вопроса, это невозможно из коробки. Но проанализировать значение формы очень просто, это должна быть просто строка, разделенная запятыми.

0 голосов
/ 18 июля 2009

В этом посте Скотта Хансельмана подробно обсуждаются коллекции привязки данных:
Формат провода ASP.NET для привязки моделей к массивам, спискам, коллекциям, словарям

0 голосов
/ 18 июля 2009

Вам нужно это:

<form>
    <input type="text" name="contacts[0].FirstName" id="contacts[0].FirstName" value="Joe"/>
    <input type="text" name="contacts[0].LastName" id="contacts[0].LastName" value="Smith"/>
    <input type="hidden" name="contacts[0].PK" id="contacts[0].PK" value="1"/>
    ....
    <input type="text" name="contacts[5].FirstName" id="contacts[5].FirstName" value="Joe"/>
    <input type="text" name="contacts[5].LastName" id="contacts[5].LastName" value="Smithen"/>
    <input type="hidden" name="contacts[5].PK" id="contacts[5].PK" value="2"/>

    <input type="submit" value="Save"/>
</form>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...