我会使用HTML.ActionLink
辅助方法来生成链接,然后使用我的自定义 jQuery ajax 调用来获取数据。这样做的好处是我拥有完全的控制权,因此我可以在显示在详细 div 中之前对响应数据进行一些操作。
我在链接中添加了一个 CSS 类,以便在绑定我的功能时我可以更具体(在选择元素时)。
@foreach (var item in Model)
{
<div id='divDetail@(item.ID)'></div>
@Html.ActionLink(item.CategoryName, "GetDetails", new { @id = item.CategoryId}, new {@id= "link-"+item.CategoryId, @class="lnkItem" })
}
脚本是
<script type="text/javascript">
$(function () {
$(".lnkItem").click(function (e) {
e.preventDefault();
var itemId = $(this).attr("id").split("-")[1]
$.get($(this).attr("href"), { id: itemId }, function (data) {
//i am free to do anything here before showing the data !
$("#divDetail" + itemId).html(data);
})
});
});
</script>