Я пытаюсь создать какую-то сложную схему форм в проекте .NET MVC 3 (или мне так кажется).Я покажу каркас, чтобы вы могли лучше понять.
Как видно из рисунка выше, это форма для создания нового автосалона.Я могу выбирать из множества доступных производителей автомобилей (в Add a tab
), и каждый выбор создает новую вкладку на панели под ним.На каждой панели есть набор полей html, и я могу добавить несколько новых автомобилей.
В конце я хочу отправить всю форму, которая включает в себя данные из автосалона (например, название), автомобильмарки, которые у него есть, и автомобили, доступные для каждой марки.Как я могу сделать это с MVC 3?Я не знаю, как именно мне следует создать модель автосалона и его соответствующий вид.Какими должны быть машины в панелях?Массив входов?И как я могу отделить входы одной вкладки от вкладок другой?Все это, используя Razor!
Мой сценарий реального мира немного сложнее, но я начну с этого, чтобы попытаться решить остальное самостоятельно.Я использую jQuery / jQuery UI, но я открыт для других альтернатив javascript (таких как Backbone и т. Д. - я просто еще не знаю их).Заранее спасибо!
ОБНОВЛЕНИЕ (1):
Пока это мои модели:
public class CarDealership
{
public int Id { get; set; }
public string Name { get; set; }
public virtual ICollection<ManufactorOnDealership> ManufactorsOnDealership { get; set; }
}
public class Manufactor
{
public int Id { get; set; }
public string Name { get; set; }
public virtual ICollection<ManufactorOnDealership> DealershipsOfManufactor { get; set; }
}
// Junction class: I believe it's needed because the list of Cars belongs to this relationship
public class ManufactorOnDealership
{
public int Id { get; set; }
public int CarDealershipId { get; set; }
public int ManufactorId { get; set; }
public virtual CarDealership CarDealership { get; set; }
public virtual Manufactor Manufactor { get; set; }
public virtual ICollection<Car> CarsOnDealership { get; set; }
}
public class Car
{
public int Id { get; set; }
public string Name { get; set; }
public virtual ICollection<ManufactorOnDealership> Manufactors { get; set; }
}