ヘルパー メソッドを使用し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>