My Parent Action我想渲染多个部分视图......
public ActionResult DashBoard()
{
AttendanceController ac = new AttendanceController();
ac.MyInformation();
return View();
}
child我想在DashBoard中制作局部视图的动作......
public ActionResult MyInformation()
{
string currentUserId = User.Identity.GetUserId();
var us = from u in db.Users
join s in db.Designations
on new { id = u.DesignationID } equals new { id = s.DesignationID }
where u.Id == currentUserId
select new ViewEmployees
{
EmployeeCode = u.UserName,
EmployeeName = u.Name,
Father_Name = u.Father_Name,
DesignationName = s.DesignationName,
EmployeeType = u.EmployeeType,
Email = u.Email,
Mobile = u.Mobile
};
return PartialView("_MyInfo", us);
}
如何将MyInformation(部分视图)添加到DashBoard
答案 0 :(得分:2)
您可以使用Html.Action
帮助器。您的父控制器操作应该只呈现视图:
public ActionResult DashBoard()
{
return View();
}
并在此视图中:
@Html.Action("MyInformation", "Attendance")
您可以在这篇文章中阅读更多关于儿童行为以及Html.Action和Html.Partial助手之间的区别:http://haacked.com/archive/2009/11/18/aspnetmvc2-render-action.aspx/
答案 1 :(得分:0)
将您的信息中心操作更改为:
public ActionResult DashBoard()
{
return View();
}
在您的主视图(在您的情况下是仪表板视图)中使用以下内容:
<div id="myPartialView">
@Html.Action("MyInformation", "ControllerName")
</div>
因此,将对MyInformation
操作进行调用,该操作返回的视图将显示在指定位置。
答案 2 :(得分:0)
在父视图中使用RenderAction
。如果您想要作为子视图,请按照Darin的定义使用
@{Html.RenderAction("MyInformation", "Attendance");}
答案 3 :(得分:0)
您可以使用Html.Action助手。您的父控制器操作应该只呈现视图:
public ActionResult DashBoard()
{
return View();
}
并在此视图中:
@Html.Action("MyInformation", "Attendance")