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