我正在开发一个mvc 4应用程序,我刚刚完成了。我有两个控制器。
public ActionResult Index()
{
return View(new Resources());
}
public ActionResult ResourceDetails(int id = 1)
{
ResourceItems re = new Resources().GetResDetails(id);
return View(re);
}
ResourceDetails是部分视图.it包含
@model ....Models.ResourceItems
<div>
@Html.Raw(@Model.Res_Details)
</div>
和索引页面包含
@model IEnumerable<.....Models.ResourceItems>
<ul id="res">
@foreach(var Item in Model)
{
<a href="~/Resources/ResourceDetails/@Item.Id" ><li>@Item.Res_NA</li></a>
}
</ul>
<div id="rescontent">
</div>
我想基于Id将部分页面加载到div“rescontent”中。默认Id是1.如何可能
答案 0 :(得分:2)
您可以使用AJAX:
@model IEnumerable<Puthencruz.Rotary.Club.Models.ResourceItems>
<ul id="res">
@foreach(var item in Model)
{
<li>
@Html.ActionLink(
item.Res_NA,
"ResourceDetails",
"Resources",
new { id = item.Id },
new { @class = "detail" }
)
</li>
}
</ul>
<div id="rescontent">
</div>
然后在单独的javascript文件中,您可以使用jQuery订阅锚点的.click事件,并向发送当前项ID的Details控制器操作发送AJAX请求,然后在{{1}中呈现结果} div:
#rescontent
同样从您的控制器操作确保您返回部分视图:
$(function() {
$('.detail').click(function() {
$('#rescontent').load(this.href);
return false;
});
});