ASP.NET MVC и строго типизированное частичное представление - PullRequest
1 голос
/ 26 февраля 2010

Я загружаю частичное представление с помощью вызова AJAX:

public ActionResult LoadServerForm()
        {
            //data stuff

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

Это прекрасно работает, но я пытаюсь уйти от волшебных строк ViewData. Я попытался сделать частичное представление наследуемым от той же ViewModel, что и на странице «хостинга», но объект Model является нулевым, когда я пытаюсь сделать это в частичном представлении:

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

Есть ли способ передать главную страницу ViewModel в PartialView с загрузкой AJAX или мне вообще нужен другой подход?

1 Ответ

1 голос
/ 26 февраля 2010

Когда вы return PartialView("Application_AddServer");, вам нужно передать модель:

return PartialView("Application_AddServer", model);

Поскольку это запрос AJAX, это отдельный вызов действия контроллера, и новый PartialView не знает о модели запрашивающей страницы. Вам придется реконструировать его либо из того источника, в котором он находится, либо из данных, переданных по запросу AJAX.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...