我有2个型号,ComanyModel和地址模型。在公司模型中,有一个AddressId连接数据库中的两个表。我想注册一个公司并将信息保存在两个单独的表中的数据库中。现在我希望用户在同一页面输入公司信息和地址,但不知道如何去做。我能够在ASP中完成它,但现在我在MVC3中非常新。
请告诉我如何存档。
以下是我的两个模型类:
公共类CompanyModel
{
public Guid AddressId { get; set; }
public string CompanyEmailAddress { get; set; }
public string DirectorName { get; set; }
public Guid Id { get; set; }
public string Name { get; set; }
public int RegNo { get; set; }
public string VatNo { get; set; }
}
公共类AddressModel
{
public string City { get; set; }
public string Code { get; set; }
public Guid Id { get; set; }
public string Line1 { get; set; }
public string Line2 { get; set; }
public string Suburb { get; set; }
}
答案 0 :(得分:6)
您必须为两个表
创建一个viewModel例如:
public class nameViewModel
{
public Company Company { get; set; }
public Address Address { get; set; }
}
然后在视图中
@Html.LabelFor(model => model.Company.Name)
@Html.EditorFor(model => model.Company.Name)
@Html.ValidationMessageFor(model => model.Company.Name)
@Html.LabelFor(model => model.Address.Name)
@Html.EditorFor(model => model.Address.Name)
@Html.ValidationMessageFor(model => model.Address.Name)
答案 1 :(得分:0)
你需要另一个这样的课程
public class CompanyAddressModel
{
public CompanyModel Company { get; set; }
public AddressModel Address { get; set; }
}
答案 2 :(得分:0)
正如Murat之前提到的,您可以创建一个新的viewmodel,然后使用@Model.Company
和@Model.Address
访问类的实例。如果你是懒惰的(就像我一样),你可以从每个类创建强类型视图,然后将视图合并为一个。或者,您可以从类创建部分视图,然后通过@Html.Action("CreateCompany", Model.Company)
或@Html.Partial("CompanyView", Model.Company)