2009-07-17 4 views
1

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

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

Это происходит от желания иметь несколько записей в форме, С NO GRID и отправьте все предметы. 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?

ответ

0

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

<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> 
+0

Хорошего начала ... ссылка Hanselman совершена – 2009-07-18 14:33:44

0

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

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

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