ASP.NET MVC 3 Partial View在视图中从动态列表动态呈现和链接
在我的MVC 3应用程序中,我将有一个包含局部视图的视图。 视图本身将包含动态生成的链接列表。 该链接必须使局部视图呈现该链接项的详细信息。
我会使用Ajax吗? 如果是这样,既然我以前没有使用过Ajax,那么有没有在MVC 3应用程序中使用它的文档?
此外,当首次加载视图时,将不加载局部视图或理想地显示另一个单独的局部视图。 关于这样做的好方法的任何想法?
谢谢您的帮助。
创建一个返回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。
HTH
我发现解决这个问题的最简单方法是使用MVC 3框架附带的Ajax助手。 Pluralsight上的MVC 3的Ajaxvideo在简洁地解释如何使用此function的基础知识方面做了非凡的工作。