よくわかりませんが..しかし、これは私にとって本当にトリッキーです..
リソースがページにバインドされているため、ビューモデルとしてCustomerを使用したMVCページがあります。Customerビューモデルには、IList<Contact>
(連絡先のコレクション)があります。このページで、ユーザーは自分の詳細と連絡先の詳細を更新したり、連絡先の詳細を追加したりできます。
新しい連絡先の詳細を追加しているときに、ページ全体を更新せずにページが連絡先の詳細のコレクションのみを更新するように部分的な読み込みを行うにはどうすればよいですか?また、をカスタマービューモデルに再バインドしIList<Contact>
て、ユーザーが保存ボタンをクリックすると、すべてのデータが1つのカスタマービューモデルとしてコントローラーに送信されるようにするにはどうすればよいですか?
これが顧客viewModelの定義です:
public class CustomerViewModel
{
public string FirstName { get; set; }
public string LastName { get; set; }
public IList<Contact> Contacts { get; set; }
}
public class Contact
{
public string Address { get; set; }
public string City { get; set; }
}
ページ定義:
@model Models.CustomerViewModel
@{
Layout = "~/Views/Shared/_MemberLayout.cshtml";
}
foreach(var contact on Model.Contacts)
{
//population happens here
}
<a href="#" id="AddNewContact">Add New Contact</a> //this will pops up a new dialog to add new contact