ASP.NET przekazywanie klasy abstrakcyjnej do widoku

0

Witam
Mam do zobrazowania w ASP.NET stan pewnego urządzenia. Urządzenia występują w kilku rodzajach (każdy rodzaj ma pewne właściwości wspólne, a pewne unikalne dla siebie). W jaki sposób się to powinno zamodelować i przekazać coś takiego do widoku? Jako klasę abstrakcyjną i klasy dziedziczące czy jako klasę generyczną? Co przekazuje się wówczas jako model do widoku?

0

Ale przecież do widoku przekazuje się obiekt a nie klasę (typ). Co za tym idzie aby przekazać ten obiekt będziesz musiał utworzyć instancję klasy dziedziczącej po typie abstrakcyjnym.

0

Ale mogę zrobić jeden widok, który w zależności od typu będzie prezentował inne właściwości?

0

No tak, przecież to się nie wyklucza z tym co napisałem wyżej. Tworzysz interfejs/klasę abstrakcyjną (raczej interfejs w tym przypadku) który będzie posiadał wymagane właściwości i następnie tworzysz klasy dziedziczące. Tworzysz instancje tych klas i przekazujesz je do widoku który przyjmuje Twój typ abstrakcyjny/interfejs. No chyba że coś pokręciłem i widok nie wspiera polimorfizmu.

0

Albo jedno urządzenie -> jeden viewmodel (które mogą mieć wspólną klasę bazową) -> jeden widok + partial view na części wspólne.
Albo jakiś mechanizm generyczny, który będzie w stanie obsłużyć dowolny viewmodel, ale to jest trochę więcej dłubania.
Jest też taka metoda jak EditorFor, której można teoretycznie podać dowolny viewmodel, i ona wygeneruje dla niego edytor, może Twój przypadek jest na tyle prosty, że Ci to wystarczy.

1 użytkowników online, w tym zalogowanych: 0, gości: 1