C# 在同一视图中加载两个控制器
我正在开发一个MVC4应用程序,我即将完成。我有两个控制器在那里C# 在同一视图中加载两个控制器,c#,sql,asp.net-mvc-4,C#,Sql,Asp.net Mvc 4,我正在开发一个MVC4应用程序,我即将完成。我有两个控制器在那里 public ActionResult Index() { return View(new Resources()); } public ActionResult ResourceDetails(int id = 1) { ResourceItems re = new Resources().GetResDetails(id); retur
public ActionResult Index()
{
return View(new Resources());
}
public ActionResult ResourceDetails(int id = 1)
{
ResourceItems re = new Resources().GetResDetails(id);
return View(re);
}
ResourceDetails是部分视图页。它包含
@model ....Models.ResourceItems
<div>
@Html.Raw(@Model.Res_Details)
</div>
@model….Models.ResourceItems
@Html.Raw(@Model.Res_详细信息)
和索引页包含
@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>
@model IEnumerable
@foreach(模型中的var项目)
{
}
我想根据Id将部分页面加载到div“rescontent”中。默认Id为1。如何使用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>
另外,通过控制器操作,确保返回的是局部视图:
public ActionResult ResourceDetails(int id = 1)
{
ResourceItems re = new Resources().GetResDetails(id);
return PartialView(re);
}
谢谢你。。它起作用了。。如何默认加载始终第一项您可以在result div:
@Html.Action(“ResourceDetails”)
中执行此操作。如果您想加载其他项目,可以提供其id:@Html.Action(“ResourceDetails”,new{id=123})
谢谢。还有一个问题。我如何从这个部分页面中删除“布局页面内容”return PartialView(re)
,而不是return View(re)
。请仔细阅读我的答案。
public ActionResult ResourceDetails(int id = 1)
{
ResourceItems re = new Resources().GetResDetails(id);
return PartialView(re);
}