我正在構建一個配置文件頁面,其中會包含一些與特定模型(租戶)相關的部分 - AboutMe,MyPreferences - 這些類型的東西。這些部分中的每一個都將成爲局部視圖,以允許使用AJAX進行局部頁面更新。MVC 4 - 如何將模型數據傳遞給部分視圖?
當我在TenantController中點擊ActionResult
時,我可以創建一個強類型視圖,並將模型數據傳遞給視圖。我無法通過部分視圖來實現這一目標。
我創建了一個局部視圖_TenantDetailsPartial
:
@model LetLord.Models.Tenant
<div class="row-fluid">
@Html.LabelFor(x => x.UserName) // this displays UserName when not in IF
@Html.DisplayFor(x => x.UserName) // this displays nothing
</div>
然後我有一個觀點MyProfile
將渲染提到的部分觀點:
@model LetLord.Models.Tenant
<div class="row-fluid">
<div class="span4 well-border">
@Html.Partial("~/Views/Tenants/_TenantDetailsPartial.cshtml",
new ViewDataDictionary<LetLord.Models.Tenant>())
</div>
</div>
如果我在_TenantDetailsPartial
包裹DIV裏面的代碼在@if(model != null){}
裏面沒有任何東西顯示在頁面上,所以我猜測有一個空的模型被傳遞給視圖。
當我從'ActionResult
'創建一個強類型視圖時,'session'中的用戶傳遞給了視圖,怎麼會這樣?如何在'會話'中將用戶傳遞給不是從ActionResult
創建的部分視圖?如果我錯過了這個概念,請解釋一下。
我真的試過了更早,它沒有工作!我不能重建我的解決方案......謝謝,它的工作原理。 – MattSull 2013-03-01 00:28:02