Я создаю страницу профиля, в которой будет несколько разделов, относящихся к определенной модели (Tenant) - AboutMe, MyPreferences - такие вещи. Каждый из этих разделов будет частичным представлением, чтобы разрешить частичные обновления страниц с использованием AJAX.
Когда я нажимаю на ActionResult
в TenantController, я могу создать строго типизированное представление, и данные модели передаются в прекрасный вид. Я не могу добиться этого с частичными представлениями.
Я создал частичный вид _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
? Если мне что-то не хватает в концепции, объясните, пожалуйста.