ASP.NET MVC 3局部视图从视图中的动态列表动态呈现和链接

问题描述 投票:1回答:2

在我的MVC 3应用程序中,我将有一个包含部分视图的视图。视图本身将具有动态生成的链接的列表。链接必须导致局部视图呈现该链接项的详细信息。

我会为此使用Ajax吗?如果是这样,由于我以前从未使用过Ajax,是否有任何文档可以在MVC 3应用程序中使用它?

此外,当第一次加载视图时,将不加载局部视图,或者理想情况下将显示另一个单独的局部视图。有什么好的方法的想法吗?

感谢您的帮助。

ajax asp.net-mvc-3 jquery partial-views
2个回答
10
投票

创建动作方法,该函数返回PartialViewResult:

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

然后创建一个局部视图,将其强类型化为detailedLinkInfo的类型(假设它是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。


-2
投票

我发现解决此问题的最简单方法是使用MVC 3框架随附的Ajax帮助器。 Pluralsight上用于MVC 3的Ajax视频在简要说明如何使用此功能的基础方面做得非常出色。

© www.soinside.com 2019 - 2024. All rights reserved.