asp.net mvc вызывает дочернюю запись в представлении - PullRequest
0 голосов
/ 11 июня 2010

У меня есть представление, в котором есть список. Каждая запись в списке имеет несколько дочерних записей.Когда я нажимаю на ссылку подробностей, я хочу, чтобы записи отображались в таблице ниже.Какой механизм я должен использовать, чтобы сделать это?Я хочу каким-то образом отобразить значения в таблице ниже.

1 Ответ

1 голос
/ 11 июня 2010

Самый простой способ сделать это - вызвать действие, которое возвращает частичное представление с записью.

Если вы используете jQuery, код будет выглядеть так:

 <!-- Code for each link, obviously, 1 would be the ID of each record -->
 <a href="/Records/Detail/1" class="details">View details</a>

Везде, где вы хотите показать детали, добавьте пустой div:

 <div id="viewDetails"></div>

код jQuery, включаемый в заголовок документа:

 $(document).ready( function() {
       $('.details').live('click', function() {
            var link = $(this);
            $('#viewDetails').load(link.attr('href'));
            return false;
       });
 });

Код для действия:

 public ActionResult Details(int id) {
       // Get model
       return PartialView(model);
 }

Я обычно добавляю дополнительный параметр к действию, чтобы проверить, было ли вызвано действие с использованием Ajax. Если нет, то вместо PartialView я возвращаю View, который включает PartialView (я делаю это для доступности и чтобы убедиться, что веб-приложение продолжает работать, даже если Javascript не работает).

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