Частичное представление ASP.NET MVC 3, динамически отображаемое и связанное из динамического списка в представлении - PullRequest
1 голос
/ 12 апреля 2011

В моем приложении MVC 3 у меня будет представление, которое будет содержать частичное представление.Само представление будет иметь список динамически генерируемых ссылок.Ссылка должна заставить частичное представление отображать подробную информацию для этого связанного элемента.

Буду ли я использовать Ajax для этого?Если да, то, поскольку я раньше не работал с Ajax, есть ли документация по его использованию в приложении MVC 3?

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

Спасибо за помощь.

Ответы [ 2 ]

10 голосов
/ 12 апреля 2011

Создать метод действия , который возвращает PartialViewResult:

[HttpGet]
public ActionResult DetailedLinkInfo(int someIdentifier)
{
   var detailedLinkInfo = GetFromSomewhere();
   return PartialView(detailedLinkInfo );
}

Затем создайте частичное представление , строго типизированное для типа detailsLinkInfo (скажем, это DynamicLink.

@model WebApplication.Models.DynamicLink
@* bunch of HTML for the detailed info *@

Затем используйте jQuery на стороне клиента. Присвойте всем своим ссылкам класс, чтобы было проще подключить событие:

$(function() {
   $('a.dynamic-link').click(function() {
      $.get('/SomeController/DetailedLinkInfo', someIdentifier: $(this).attr('id'), function(data) {
         $('#some-div').html(data);
      });
   });
});

Конечный результат: вы нажимаете одну из ссылок, jQuery выполнит AJAX GET для вашего действия контроллера, а затем свяжет результат с div.

НТН

0 голосов
/ 30 апреля 2011

Самым простым способом решения этой проблемы, который я нашел, было использование помощников Ajax, которые поставляются с платформой MVC 3.Видео Ajax для MVC 3 о Pluralsight проделало феноменальную работу, кратко объяснив основы использования этой функции.

...