Несколько моделей ASP.NET MVC 3 в единую форму

Я изучаю ASP.NET MVC 3 и пытаюсь создать представление с единственной формой, состоящей из нескольких моделей, связанных друг с другом внешним ключом. . Конечная цель состоит в том, чтобы вставить единую форму во все таблицы базы данных.

Проблема в том, что я не могу понять, почему, когда я щелкаю правой кнопкой мыши, чтобы создать представление, форма не создается автоматически в файле cshtml. Автоматически сгенерированный код очень помогает, так как у меня есть много таблиц, которые связаны вместе, и много полей, которые я должен проверить и вставить. Если автоматическое создание формы невозможно, каков наиболее эффективный / элегантный способ сделать это?

Вот упрощение того, что у меня есть.

Модель:

class Customer
{
    [Key]
    public UInt64 CustomerId { get; set; }

    [Required(ErrorMessage = "Name is required.")]
    [Display(Name = "Customer Name")]
    [MaxLength(50)]
    public string FullName { get; set; }
}

class CustomerAdditionalDetails1
{
    [ForeignKey("Customer")]
    public UInt64 CustomerId { get; set; }

    [Required(ErrorMessage = "This info is required.")]
    [Display(Name = "Customer Information")]
    [MaxLength(50)]
    public string SomeInfo { get; set; }
}

class CustomerAdditionalDetails2
{  // same foreign key as CustomerAddtionalDetails1, but with different properties
}

class CustomerAdditionalDetails3
{  // same foreign key as CustomerAddtionalDetails1, but with different properties
}

...

public class CustomerModel
{
    public Customer Customer { get; set; }
    public CustomerAdditionalDetails1 CustomerAdditionalDetails1 { get; set; }
    public CustomerAdditionalDetails2 CustomerAdditionalDetails2 { get; set; }
    public CustomerAdditionalDetails3 CustomerAdditionalDetails3 { get; set; }
    ...
}

Контроллер:

public ActionResult Submit()
{
    return View();
}

[HttpPost]
public ActionResult Submit(CustomerModel customer)
{
    return View();
}

Пожалуйста, помогите !

8
задан tereško 3 March 2013 в 13:09
поделиться