C # MVC: поиск сетки как частичное представление, чтобы включить возврат AJAX? - PullRequest
1 голос
/ 08 июня 2009

У меня есть сетка, которая содержит контакты. Он автоматически показывает контакты, когда люди переходят на / contacts / URL. В отдельном окне люди могут фильтровать их по разным критериям. Я хочу обновлять только сетку, а не всю страницу, когда применяются разные критерии.

Чтобы достичь этого, я бы поместил таблицу контактов в частичное представление и каким-то образом позже возвратил частичное представление через AJAX?

Пожалуйста, дайте мне подсказку в правильном направлении. Спасибо:)

Ответы [ 3 ]

2 голосов
/ 08 июня 2009

Что-то, что я недавно собрал ...

Я думаю, это поможет вам начать в правильном направлении. Это простая форма поиска людей с использованием AJAX и UserControl.

2 голосов
/ 08 июня 2009

Наиболее простой метод - это, вероятно, использовать jQuery AJAX API для запроса метода. Затем вы используете свойство Request.IsAjaxRequest() в вашем контроллере, чтобы увидеть, был ли запрос сделан с помощью AJAX - если это так, вы возвращаете только PartialView из действия Controller.


Некоторые примеры кода:

По вашему мнению, вы можете иметь следующую разметку:

<div id="gridContainer">
    <% Html.RenderPartial("ContactsGrid", ViewData.Model); %>
</div>

(при условии, что ваши контакты содержатся в объекте Model, а представление строго типизировано ...)
Затем вам нужно вызвать следующий код JavaScript, когда вы хотите обновить сетку:

$('#gridContainer').load('/contacts/', { filterParameter: andItsValue });

Вы также можете добавить параметр фильтра в URL, если ваши маршруты поддерживают это.

В своем действии контроллера перед возвратом выполните следующую проверку:

if(Request.IsAjaxRequest()) {
    return PartialView("ContactsGrid", contacts);
}
return View(contacts);
1 голос
/ 08 июня 2009

Я, как правило, не люблю просто публиковать ссылки, я люблю кодировать быстрые примеры, но эта статья CodeProject, я думаю, справляется с работой: http://www.codeproject.com/KB/aspnet/JQueryPartial.aspx.

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