1

ComanyModel と Address Model の 2 つのモデルがあります。Company モデルには、DB 内の 2 つのテーブルを接続する AddressId があります。会社を登録して情報を保存したいのは、データベースの 2 つの別々のテーブルです。今、ユーザーに会社情報と住所を同じページに入力してもらいたいのですが、その方法がわかりません。私は ASP でそれを行うことができますが、今では MVC3 を初めて使用します。

これをアーカイブする方法についてアドバイスをください。

ここに私の2つのモデルクラスがあります:

パブリック クラス 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; }
}
4

3 に答える 3

6

両方のテーブルに1つの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)
于 2012-06-08T07:59:12.420 に答える
0

Murat が前述したように、新しいビューモデルを作成してから、 および を使用してクラスのインスタンスにアクセスでき@Model.Companyます@Model.Address。あなたが怠け者であれば (私のように)、各クラスから厳密に型指定されたビューを作成し、それらのビューを 1 つに結合できます。または、クラスから部分ビューを作成し、@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 に答える