Angenommen, ich habe diese Teilansicht:
Your name is <strong>@firstName @lastName</strong>
die nur durch ein Kind zugänglich ist Aktion wie:
[ChildActionOnly]
public ActionResult FullName(string firstName, string lastName)
{
}
Und ich möchte diese Teilansicht in einer anderen Ansicht verwenden mit:
@Html.RenderPartial("FullName")
Mit anderen Worten, ich möchte in der Lage sein, Vorname und Nachname von Ansicht zu Teilansicht zu übergeben. Wie soll ich das machen
asp.net-mvc
asp.net-mvc-3
model-view-controller
controller
asp.net-mvc-partialview
Saeed Neamati
quelle
quelle
Antworten:
Verwenden Sie diese Überladung (
RenderPartialExtensions.RenderPartial
auf MSDN ):so:
quelle
@Html.Partial()
ist das gleiche wie@{Html.RenderPartial();}
aber viel schöner. Sie haben die gleichen Überlastungen.Model.firstName
und ihre gleichen werfen eine Ausnahme, dassobject doesn't have a 'firstName' property
Hier ist eine andere Möglichkeit, dies zu tun, wenn Sie ViewData verwenden möchten:
Und um die übergebenen Werte abzurufen:
quelle
Sie müssen ein Ansichtsmodell erstellen. So etwas sollte reichen ...
Übergeben Sie dann aus Ihrem Aktionsergebnis das Modell
und Sie können darauf zugreifen
@Model.FirstName
und@Model.LastName
entsprechend.quelle
Stellen Sie sicher, dass Sie {} um Html.RenderPartial hinzufügen, als:
nicht
quelle
{ }
, ich habe Zeit verschwendet, bis ich diesen Artikel gefunden habeFolgendes funktioniert für mich auf dotnet 1.0.1 :
./ourView.cshtml
./_ourPartial.cshtml
quelle
Gerade:
quelle