Ich habe zwei Ansicht Modelle:Wie Modell zu Teilansicht passieren
public class ParentViewModel
{
public Id { get; set; }
.....
public ChildViewModel Child{ get; set; }
}
public class ChildViewModel
{
public ChildId { get; set; }
.....
}
Controller:
public ActionResult Index()
{
.... <some code>
return View("NewIndex", ParentViewModel);
}
[HttpPost]
public ActionResult PartialAction(ChildViewModel childView)
{
return RedirectToAction("Index");
}
Und Ansichten: Index
@model ParentViewModel
....
@Html.Partial("_Partial", Model.Child)
und _Partial
@model ChildViewModel
... do some stuff with child model
Wenn ich versuche, Index-Seite zu öffnen ich einen Fehler habe:
Das Modellelement in das Wörterbuch übergeben ist vom Typ ‚ParentViewModel‘, aber dieses Wörterbuch erfordert ein Modell Artikel vom Typ ‚ChildViewModel‘.
Warum versucht, ParentViewModel anstelle von ChildViewModel übergeben. Was mache ich falsch?
Beim Aufruf ist 'Model.Child initialisieren 'null? Da der zweite Parameter von 'Html.Partial' nicht' null' sein sollte ... Also, machen Sie aus, dass Ihre 'Child'-Eigenschaft einen gewissen Wert hat! – nemesv
tatsächlich meine Teilansicht ist nur für AddObject-Funktionalität, so ChildViewModel nur zum Senden von Daten an den Controller von PartialView benötigt. Also müssen Sie keine Daten in Child vom Index an die Teilansicht übergeben. – DarkNik
Immer noch müssen Sie ein ChildViewModel an den '@ Html.Partial' Aufruf übergeben. Es kann jedoch ein leeres Objekt sein: '@ Html.Partial (" _ Partial ", neues ChildViewModel())' ... – nemesv