我一直在努力解決這個問題無濟於事。使用MVC4我有3個模型,我希望通過部分視圖在單個視圖中顯示。單視圖由3個部分視圖(3個編號列表)組成。我可以得到一個模型視圖中顯示,但無法弄清楚如何顯示其他2MVC4問題,在單個視圖上顯示多個部分視圖
以下是我對視圖控制器:
[AllowAnonymous]
public ActionResult Dashboard()
{
//Database.SetInitializer<AlertsContext>(null);
Database.SetInitializer<MemberUsersContext>(null);
//Database.SetInitializer<ClubsContext>(null);
//AlertsContext db = new AlertsContext();
MemberUsersContext db = new MemberUsersContext();
//ClubsContext db = new ClubsContext();
//db.MemberUsers.ToList()
return View(db.MemberUsers.ToList());
}
這是我作爲模型視圖本身(編譯我刪除這兩個不屬於@model IEnumerable的聲明下:
@model IEnumerable<GMC.Models.MemberUsers>
<div class="dashboard_alerts">
@Html.Partial("DashboardAlerts")
</div>
<div class="dashboard_pending_clubs">
@Html.Partial("DashboardClubs")
</div>
<div class="dashboard_verified_members">
@Html.Partial("DashboardMembers")
</div>
在每一個局部視圖標題如下:
Dashboar dClubs
@model IEnumerable<GMC.Models.Clubs>
DashboardMembers
@model IEnumerable<GMC.Models.MemberUsers>
DashboardAlerts
@model IEnumerable<GMC.Models.Alerts>
現在的問題是如何傳遞的三個數據庫上下文到儀表板?我很困惑,並且很掙扎。
你的答案似乎工作,但我走了第二條路線。非常乾淨,非常棒。如果可以的話+ 100。 – ApolloSoftware 2013-04-08 20:53:01
Action與RenderPartial和Partial完全相反?我應該知道這一點。但是ASP.NET MVC4對我來說比較新。 – ApolloSoftware 2013-04-08 20:55:47
@AmitApollo .Partial()將直接使用Clubs.cshtml,因此您必須將模型數據傳遞給它,就像我在第二個參數中那樣。 .Action()將調用一個動作方法,並且該動作可以執行任何需要的查詢數據並將其傳遞給'return Partial(myDataHere)'。 – AaronLS 2013-04-08 21:02:11