Множественные рендерации в View MVC3 - PullRequest
1 голос
/ 16 мая 2011

У меня несколько представлений в представлении MVC3.

Я хотел бы получить частичное представление, а затем результаты при получении parialview.

(как некоторые заполнители на страницеи затем страница заполняется результатами рендеринга как неполные частичные просмотры.

Теперь у меня есть несколько Html.RenderAction ("Action", "controller");с различными действиями в главном представлении, возвращая некоторые частичные представления для визуализации.Как я могу получить их асинхронно взамен, вместо того, чтобы ждать с рендером, пока не появится последний из них?

Нужен ли мне ajax или это делается с помощью AsyncController?

Ответы [ 2 ]

1 голос
/ 16 мая 2011

Взгляните на это:

$.ajax({
            type: "POST",
            data: { "supporterId": supporterId },
            url: '@Url.Action("ShowDetails")',
            success: function (result) {
                $("#popupDetails").html(result); - here you are replaceing content of you page with partial view returned by the action                   
            },
            error: function (error) {
                alert("error");
            }
        });

А вот и действие:

        public ActionResult ShowDetails(int supporterId)
    {
        Supporter supporter = ... //get supporter object from the database
        return PartialView("Details", supporter);
    }
1 голос
/ 16 мая 2011

Я всегда предпочитаю использовать jQuery ajax.Вы можете просто вернуть PartialView как результат действия ajax, а затем в jQuery (на стороне браузера) заменить содержимое определенной части вашей страницы только что возвращенным PartialView.

Быстро и просто, без перезагрузки страницы!

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