1

我有 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; }

}

公共类地址模型

{

    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; }
}
4

3 回答 3

6

您必须为两个表创建一个视图模型

例如:

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)
于 2012-06-08T07:59:12.420 回答
0

正如 Murat 之前提到的,您可以创建一个新的视图模型,然后使用 和 访问类的@Model.Company实例@Model.Address。如果你很懒(像我一样),你可以从每个类创建强类型视图,然后将视图组合成一个。或者您可以从类中创建部分视图并通过@Html.Action("CreateCompany", Model.Company)或获取它们@Html.Partial("CompanyView", Model.Company)

于 2012-06-08T08:08:03.490 回答
0

你需要另一个像这样的课程

public class CompanyAddressModel
{
public CompanyModel Company { get; set; }
public AddressModel Address { get; set; }
}
于 2012-06-08T07:52:02.600 回答