我有一个视图,其中有一个列表。列表中的每条记录都有一些子记录。当我点击详细信息链接时,我希望记录显示在下表中。 我应该遵循什么机制来做到这一点? 我想用某种方法显示下表中的值。
答案 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也能继续工作)。