Ich bin ein erfahrener .NET C# Software Entwickler, aber erst vor ein paar Monaten begann ich mit MVC Razor (MVC 5).MVC Razor erstellen Liste von Objekten zum Einreichen
Ich habe eine kleine Situation, die ich keine Antwort auf auf dem Netz (nach Stunden des Suchens)
Ich habe ein Modell, das eine Liste von einem anderen Modell hat, die wiederum auch eine Liste finden konnte von ein Modell wie unten gezeigt.
public class Parent
{
public string Name { get; set; }
public string Sex { get; set; }
public int Age { get; set; }
public List<Child> Children { get; set; }
}
public class Child
{
public string Name { get; set; }
public string Sex { get; set; }
public int Age { get; set; }
public List<GrandChild> GrandChildren { get; set; }
}
public class GrandChild
{
public string Name { get; set; }
public string Sex { get; set; }
public int Age { get; set; }
}
und mein Controller verfügt über zwei Methoden, eine Haupt ist importieren, und das andere ist Post, um neue Daten zu schreiben
public ActionResult Index()
{
return View();
}
[HttpPost]
public ActionResult PostParent(Parent parent)
{
if (ModelState.IsValid)
{
//Do an insert to the DB
return View("~/Views/Home/Index.cshtml");
}
return Json("Error");
}
jedoch meiner Ansicht nach in der Form, ich kann nicht einen Weg finden, ein Add-Taste und legen Sie neue Daten in die Liste der Kinder und Enkel (incase eines Kindes)
@using (Html.BeginForm("PostParent", "Home", FormMethod.Post, new {@class = "form-horizontal", role = "form"}))
{
@Html.LabelFor(x => x.Name)
@Html.TextBoxFor(x => x.Name)
}
ich kann nur hinzufügen, Felder für Urtyp properites, aber nicht für Objekte zu erstellen.
Ich würde wirklich jede Hilfe schätzen!
Verweisen Sie die Antworten [hier] (http://stackoverflow.com/questions/29161481/post-a-form-array-without-successful/29161796#29161796) und [hier] (http://stackoverflow.com/questions/28019793/submit-same-partially-view-called-multiple-mal-data-to-controller/28081308 # 28081308). Beachten Sie, dass Sie 'BeginCollectionItem' nicht für verschachtelte Sammlungen verwenden können. –
Und für ein Arbeitsbeispiel zum dynamischen Erstellen verschachtelter Sammlungen, siehe [diese DotNetFiddle] (https://dotnetfiddle.net/wqE6Rb) –