Frage

Ich bin eine Teilansicht mit einem AJAX-Aufruf laden:

public ActionResult LoadServerForm()
        {
            //data stuff

            ViewData["ApplicationID"] = appID.ToString();
            ViewData["Servers"] = ServersList(appServerRep.Session, null, appServers);
            return PartialView("Application_AddServer");
        }

Dies funktioniert gut, aber ich versuche, von Magie Viewdata Saiten wegzukommen. Ich versuchte, die Teilansicht erbt aus dem gleichen Ansichtsmodell als „Hosting“ Seite zu machen, aber das Model-Objekt ist null, wenn ich dies in der Teilansicht versuchen:

<%= Html.HiddenFor(model=>model.Application_Key, Model.Application_Key) %>

Gibt es eine Möglichkeit, die Haupt-Seite Ansichtsmodell nach unten in die AJAX-geladen PartialView oder soll ich überhaupt für einen anderen Ansatz suchen passieren?

War es hilfreich?

Lösung

Wenn Sie return PartialView("Application_AddServer");, Sie haben das Modell weitergeben müssen:

return PartialView("Application_AddServer", model);

Da dies eine AJAX-Anforderung ist, dann ist es ein separater Controller-Aktion Aufruf und die neue PartialView weiß nicht, über das Modell der anfordernden Seite. Sie werden es rekonstruieren, entweder von was auch immer Ihre ursprünglichen Datenquelle oder von Daten mit dem AJAX-Request übergeben.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top