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

Jam*_*mes 1 ajax jquery partial-views asp.net-mvc-3

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

我会使用Ajax吗?如果是这样,既然我之前没有使用过Ajax,那么在MVC 3应用程序中是否有任何使用它的文档?

此外,当首次加载视图时,将不加载局部视图或理想地显示另一个单独的局部视图.关于这样做的好方法的任何想法?

谢谢您的帮助.

RPM*_*984 10

创建一个返回PartialViewResult操作方法:

[HttpGet]
public ActionResult DetailedLinkInfo(int someIdentifier)
{
   var detailedLinkInfo = GetFromSomewhere();
   return PartialView(detailedLinkInfo );
}
Run Code Online (Sandbox Code Playgroud)

然后创建一个局部视图,强类型为detailedLinkInfo的类型(让我们说它是一个DynamicLink.

@model WebApplication.Models.DynamicLink
@* bunch of HTML for the detailed info *@
Run Code Online (Sandbox Code Playgroud)

然后在客户端使用jQuery.为所有链接提供一个类,以便更容易连接事件:

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

最终结果:您单击其中一个链接,jQuery将对您的控制器操作执行AJAX GET,然后将结果绑定到div.

HTH

  • @James - 没问题.你应该知道,从MVC 3开始,AJAX助手和JS库(MicrosoftMvcAjax.js)现在被认为是"遗产".jQuery做到了这一切 - 为您节省了额外的JS库.完全取决于你. (3认同)