W ASP.NET MVC i przy użyciu maszynki Razor, mam widok (nadrzędny), który wywołuje inny widok (dziecko) jako częściowy. Oba są mocno typowane, ale mają inny typ modelu.Jak uniemożliwić przeglądanie przekazywanie jego model do częściowego widoku, ale zamiast tego przekazać null?
Zwykle w takich sytuacjach przekazujemy model bezpośrednio z nadrzędnego widoku do widoku podrzędnego.
@Html.Partial("Child", Model)
Możemy również wybrać, aby nie określić jednoznacznie modelu mają być przekazane, aw takich przypadkach rodzic Zobacz będzie próbował przekazać swój własny model do dziecka View. Działa to, jeśli typy są zgodne i jest pożądane w większości przypadków.
@Html.Partial("Child")
W moim przypadku jednak naprawdę chcę się nadrzędną Zobacz nie spróbować przekazać coś dziecku View. Jak to zrobić?
myślałem próbuje przekazać null
wyraźnie:
@Html.Partial("Child", null)
Ale to wciąż przechodzi rodzica model dla dziecka Widok, w wyniku błędu: The model item passed into the dictionary is of type 'A', but this dictionary requires a model item of type 'B'.
(Jako marginesie, Widok podrzędny to widok tworzenia dla swojego modelu, dlatego nie mam instancji, która mogłaby go przekazać.)
rodzaju . Mówiąc dokładniej, powodem jest to, że kiedy wywoływany jest widok, nie istnieje przypadek tego Modelu * koncepcyjnie *. Czułem się niekomfortowo, tworząc i przekazując instancję Modelu, który jeszcze nie istnieje i może nie zostać w ogóle zatwierdzony tylko po to, aby zadowolić mechanizm wyświetlania. –