2011-04-11 46 views
1

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

我会为此使用Ajax吗?如果是这样,因为我以前没有使用过Ajax,有没有在MVC 3应用程序中使用它的任何文档?

此外,当视图第一次加载时,局部视图将不会被加载,或理想地显示另一个单独的局部视图。任何想法都可以做到这一点?

感谢您的帮助。

回答

-2

解决这个问题,我发现是使用附带的MVC框架3阿贾克斯佣工的最简单的方法。 MVC 3的Ajax视频Pluralsight在简洁地解释如何使用此功能的基础知识方面做了出色的工作。

+2

-1 Ajax助手已被弃用。 – 2012-08-29 19:36:38

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得到你的控制器动作,然后绑定结果到div。

HTH

+0

谢谢你的回应,但是我跟随着MVC3 – James 2011-04-29 23:15:45

+3

@James提供的ajax帮手 - 没有任何问题。你应该知道,虽然从MVC 3开始,AJAX助手和JS库(MicrosoftMvcAjax.js)现在被认为是“遗留的”。 jQuery完成了这一切 - 节省了你一个额外的JS库。完全取决于你。 – RPM1984 2011-04-30 01:16:41