Cześć wszystkim Mam klasy bazowej o nazwie pojazdu i mam wszystkie właściwości wspólne dla wszystkich pojazdów tam i mam wiele klas pochodnych zwanych samochodów Jeep, które wynikają z pojazdu i dodać więcej właściwościWiązanie modelu ASP.NET MVC 3.0 z klasami podstawowymi i pochodnymi?
Ex:
public class Vehicle
{
public int Color { get; set; }
public double Cost { get; set; }
}
public class Car : Vehicle
{
public SelectListItem Option { get; set; }
}
mam klasy stronę, na której mam listę pojazdów, jak ten
public class Page
{
public List<Vehicle> vehicles { get; set; }
}
Mój pogląd jest mocno typy do klasy strony, tak moim zdaniem jestem zapętlenie nad wszystkimi pojazdami wyświetlanych na stronie tak, ten kod jest wewnątrz @using (Html.BeginForm()), więc zakładać z powrotem pozycje użytkowników
for(int i=0;i<Model.Vehicles.Count;i++)
{
<div id="Question">
@{
@Html.EditorFor(m => m.Vehicle[i], VehicleConstants.GetTemplateName(Model.Questions[i]));
}
<br />
</div>
}
używam jednego szablonu Edytor dla każdego typu pojazdu, więc VehicleConstants.GetTemplateName wywołanie funkcji po prostu zwraca Nazwa szablon do użycia w zależności od typu pojazdu
Ten szablon po prostu pisze właściwości od klasy samochodu lub klasie Jeep (pochodzące klasy + klasy bazowej)
problem mam jest, gdy formularz jest wysłany z powrotem Mogę tylko uzyskać dostęp do właściwości pojazdu klasy podstawowej w moim kontrolerze Nie mogę uzyskać wartości właściwości samochodu klasy sub lub Jeep.
[HttpPost]
public string ReadPost(Page page)
{
}
Jaki jest najlepszy sposób, aby te wartości były wyświetlane automatycznie po przesłaniu formularza?
Czy tworzenie niestandardowej klasy segregatorów jest moją jedyną opcją? Czy ktoś może mi podać przykładowy kod, jak to zrobić? Każda pomoc doceniona.