0

会社のクラスを住所のIListで更新する必要があります。これらは私のデータモデルです。

// Entity class Company — managed by Nhibernate
public class Company
{
  public virtual IList<Address> _addresses { get; set; }

  public Company()
  {
    _addresses = new List<Address>();
  }
}

// Entity class Address — managed by Nhibernate
public class Address
{
  public virtual string line1 { get; set; }
  public virtual string line1 { get; set; }
}

コントローラーの GET アクションで Entity クラスから Viewmodel にデータをパックし、コントローラーの POST アクションで Viewmodel から Entity クラスにデータをアンパックしています。

これが私のビューモデルです。

// Class CompanyRequest
public class CompanyRequest
{
  public IList<AddressRequest> AddressRequests;
}

//Class AddressRequests
public class AddressRequest
{
  public string line1 { get; set; }
  public string line1 { get; set; }
}

各アドレス ボックスを表示するために部分ビューを使用しています。AddressRequests内のAddressRequestごとに、プレフィックスを正しく設定してオブジェクトを部分ビューに渡します。

for(var i = 0 ; i < AddressRequests.Count() ; i++)
{
  ViewData["Prefeix"] = String.Format("AddressRequests[{0}]", i);
  Html.RenderPartial("_addressPartial", AddressRequests[i]);
}

ユーザーがこのリストに新しいアドレスを追加できるように、「新しいアドレスを追加」ボタン追加できるようにする必要があります。これは、ページを更新せずに行う必要があります。ユーザーがそのボタンをクリックすると、別のアドレスボックス (おそらく同じ部分) が表示されます。次に、ユーザーはボックスを編集し、 [保存] ボタンを押します。この [保存] ボタンは、 Addressだけでなく、会社のデータ全体を保存することになっています。

これを行う方法はありますか?どんな助けでも大歓迎です!

4

1 に答える 1