Question

Je suis le chargement d'une vue partielle avec un appel AJAX:

public ActionResult LoadServerForm()
        {
            //data stuff

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

Cela fonctionne très bien, mais je suis en train de sortir de chaînes vidéotex magiques. J'ai essayé de faire la Hériter vue partielle de la même ViewModel que la page « hébergement », mais l'objet du modèle est nulle lorsque je tente de cela dans la vue partielle:

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

Y at-il un moyen de passer la page principale ViewModel vers le bas dans le PartialView chargé AJAX ou devrais-je être à la recherche d'une approche tout à fait différente?

Était-ce utile?

La solution

Lorsque vous return PartialView("Application_AddServer");, vous devez passer le modèle:

return PartialView("Application_AddServer", model);

Puisque c'est une requête AJAX, il est une invocation d'action de contrôleur séparé, et le nouveau PartialView ne sait pas sur le modèle de la page demandant. Vous devrez reconstruire, soit à partir de quel que soit votre source de données d'origine est ou à partir des données transmises à la requête AJAX.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top