ASP.NET MVC 2: обновить частичное? - PullRequest
0 голосов
/ 16 декабря 2010

Можно ли вызвать действие контроллера, которое обновит (обновит) частичное представление в представлении обновленной моделью?Если так, может кто-нибудь указать мне пример?

Я делаю вызов ajaxВызов отправляет некоторый JSON на контроллер.Контроллер извлекает json и форматирует его в XML, который затем передается в SPROC.Результаты SPROC обновляют модель.Здесь мне нужно обновить представление ... с последними результатами модели.

Ответы [ 2 ]

0 голосов
/ 16 декабря 2010

В контроллере вы можете просто сделать что-то вроде:

if (Request.IsAjaxRequest()) {
    return View(name_of_partial, updated_model);
}

На внешнем интерфейсе это просто jQuery load , что-то вроде:

$("#target-div").load(url_of_action, data_to_send);
0 голосов
/ 16 декабря 2010

Да, вам просто нужно, чтобы действие возвращало PartialView с его обновленной моделью.Код вызова может выглядеть следующим образом:

<div id="MyDiv"></div>
<%=Ajax.ActionLink("Update", "GetUpdatedPartialView", 
    new AjaxOptions{UpdateTargetId = "MyDiv"}) %>

Когда вы нажимаете на ссылку, HTML-код, возвращаемый вашим действием, будет помещен в div с идентификатором «MyDiv».

Edit

У меня нет с собой кода, но если я правильно помню, это примерно так:

var url = '<%=Url.Action("GetUpdatedPartialView")%>';
$.post(url, function(data) {$('#MyDiv').html(data);});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...