Я создаю страницу профиля, которая будет иметь несколько разделов, относящихся к конкретной модели (арендатору) - 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
? Если мне что-то не хватает в концепции, объясните, пожалуйста.