asp.net mvc在视图中调用子记录

时间:2010-06-11 12:22:04

标签: asp.net-mvc asp.net-mvc-2

我有一个视图,其中有一个列表。列表中的每条记录都有一些子记录。当我点击详细信息链接时,我希望记录显示在下表中。 我应该遵循什么机制来做到这一点? 我想用某种方法显示下表中的值。

1 个答案:

答案 0 :(得分:1)

最简单的方法是调用一个返回带记录的局部视图的动作。

如果您使用的是jQuery,代码将是这样的:

 <!-- Code for each link, obviously, 1 would be the ID of each record -->
 <a href="/Records/Detail/1" class="details">View details</a>

无论您想要显示详细信息,请添加一个空div:

 <div id="viewDetails"></div>

jQuery代码,包含在文档的头部:

 $(document).ready( function() {
       $('.details').live('click', function() {
            var link = $(this);
            $('#viewDetails').load(link.attr('href'));
            return false;
       });
 });

行动守则:

 public ActionResult Details(int id) {
       // Get model
       return PartialView(model);
 }

我通常会在操作中添加一个额外的参数,以检查是否已使用Ajax调用了Action。如果没有,我将返回一个包含PartialView的View,而不是PartialView(我为可访问性执行此操作,并确保即使Javascript失败,web / app也能继续工作)。