会社のクラスを住所の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だけでなく、会社のデータ全体を保存することになっています。
これを行う方法はありますか?どんな助けでも大歓迎です!