2009-07-17 5 views
1

Pas vraiment une exigence ou quoi que ce soit encore, mais pouvez-vous faire cela dans un contrôleur:gérer plusieurs fortement objets typés dans un contrôleur

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

Cela vient de vouloir avoir plusieurs enregistrements sur un formulaire, SANS GRID et soumettre tous les articles. Le HTML serait semblable à ceci

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

Avez-vous besoin de créer votre propre routeur ou quoi? N'importe qui? Bueller?

Répondre

0

Vous en avez besoin:

<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

Bon début ... le lien Hanselman est parfait –

0

D'abord, remplacer tous les "id" avec l'attribut "name". Un document peut ne pas avoir plusieurs éléments avec les mêmes identifiants.

En ce qui concerne votre question, ce n'est pas possible hors de la boîte. Mais il est très facile d'analyser la valeur du formulaire, ce devrait être juste une chaîne séparée par des virgules.

Questions connexes