Lassen Sie ein Modell eine leere Liste enthalten. Ich möchte Elemente zur Liste hinzufügen und alles auf einmal veröffentlichen.Wie kann ich ein Modell veröffentlichen, das eine Sammlung enthält?
Haupt Modell
[Required]
public string WillAttend { get; set; }
/// <summary>
/// Guests to accompany the RSVPer
/// </summary>
public List<Guest> Guests { get; set; }
Gast Modell
[Required]
[Display(Name = "First Name")]
public string FirstName { get; set; }
[Required]
[Display(Name = "Last Name")]
public string LastName { get; set; }
Im Innern der Form:
<div class="form-group">
<div>
Yes @Html.RadioButtonFor(m => m.WillAttend, "yes", new { @class = "" })
No @Html.RadioButtonFor(m => m.WillAttend, "no", new { @class = "" })
</div>
</div>
<div class="form-group">
<div>
<span>Will you bringing any children or guests?</span>
<input id="InputAddGuest" type="button" class="form-control" value="Add Guest or Child" />
<ul id="ListGuest">
</ul>
</div>
</div>
<div class="form-group">
<div>
<button type="submit" class="btn btn-block">Finish</button>
</div>
</div>
Es gibt ein Formular auf der Seite für das Hauptmodell oben einreichen, und ich Verwenden von jquery zum Generieren von HTML:
<script type="text/javascript">
$(document).ready(function() {
$('#InputAddGuest').click(function() {
$('#ListGuest').append('<li>HELLO WORLD</li>');
});
});
</script>
aber was geht hier rein, so dass wenn ich mein Modell posten tatsächliche Gäste?
Verwenden Sie ASP? Rasierer? – Jace
Razor ist Schmutz einfacher Weg, Code in Ihre HTML Markup einzubetten http://www.w3schools.com/aspnet/razor_intro.asp – Jace
Verweisen Sie die Antworten [hier] (http://stackoverflow.com/questions/29161481/post- a-form-array-ohne-erfolgreich/29161796 # 29161796) und [hier] (http://stackoverflow.com/questions/28019793/submit-same-partial-view-called-multiple-times-data-to-controller/28081308 # 28081308) für Optionen –