我正在构建一个个人资料页面,其中包含许多与特定模型(租户)相关的部分 - AboutMe、MyPreferences - 诸如此类。这些部分中的每一个都将是一个局部视图,以允许使用 AJAX 进行局部页面更新。
当我单击ActionResult
TenantController 中的 an 时,我能够创建一个强类型视图,并且模型数据可以很好地传递给视图。我无法通过部分视图来实现这一点。
我创建了一个局部视图_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>
如果我将代码包装在 DIV 中_TenantDetailsPartial
,@if(model != null){}
页面上不会显示任何内容,所以我猜测有一个空模型被传递给视图。
当我从ActionResult
“会话”中的用户创建强类型视图时,怎么会传递给视图?如何将“会话”中的用户传递给不是从创建的局部视图ActionResult
?如果我遗漏了关于这个概念的一些东西,请解释一下。