8
我正在学习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();
}
请帮帮忙!