Buduję stronę profilu, która będzie miała kilka sekcji odnoszących się do konkretnego modelu (najemcy) - AboutMe, MyPreferences - tego rodzaju rzeczy. Każda z tych sekcji ma być częściowym widokiem, aby umożliwić częściowe aktualizacje strony przy użyciu AJAX.MVC 4 - w jaki sposób przekazać dane modelu do widoku częściowego?
Kiedy klikam na ActionResult
w TenantController, jestem w stanie stworzyć mocno napisany widok, a dane modelu zostaną przekazane do grzywny widoku. Nie mogę tego osiągnąć przy częściowych widokach.
Utworzyłem częściowy widok _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>
Mam następnie widok MyProfile
że odda wspomniany częściowy widok:
@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>
Gdybym zawinąć kod wewnątrz DIV w _TenantDetailsPartial
wewnątrz @if(model != null){}
nic nie wyświetla się na stronie, więc domyślam się, że do widoku jest przekazywany pusty model.
Jak to się stało, że po utworzeniu mocno wpisanego widoku z ActionResult
użytkownik "sesji" zostaje przekazany do widoku? W jaki sposób można przekazać użytkownika w "sesji" do częściowego widoku, który nie został utworzony z ActionResult
? Jeśli brakuje mi czegoś na temat tej koncepcji, proszę wyjaśnij.
I rzeczywiście próbował to wcześniej i to nie działa! Nie mogłem przebudować mojego rozwiązania ... Dzięki, działa. – MattSull