私はMVC 4とカミソリが初めてです。複数の部分ビューを含むビューがあります。部分ビューの機能により、これらを他のビューでも再利用する予定です。
私のモデルは、複雑なオブジェクトのコレクションです。
public class EmployeeInfo
{
public EmployeeContactInfo contactInfo { get; set; }
public List<TelephoneInfo> phoneDetails { get; set; }
public AddressDetails addressDetails { get; set; }
}
私のメイン ビューのモデルは でEmployeeInfoあり、他の部分ビューのモデルはそれぞれTelephoneInfo、EmployeeContactInfoおよびAddressDetailsです。
RenderPartialを使用して、部分ビューをロードしようとしRenderActionました。Partial
@using (Html.BeginForm())
{
@Html.Partial("ContactInfo",Model.contactInfo)
}
メイン フォームが送信されると、メイン モデルには部分ビューの更新された値がありません。
これを検索したところ、以下の 2 つの提案されたソリューションが見つかりました。
使用
EditorFor- 機能し、モデルが更新されますが、テキスト ボックスだけでなく、いくつかの内部操作 (アドレスの検索など) を持つ他のコントロールのコレクションもあり、同じ部分ビューを他の場所 (ユーザー コントロールなど) で再利用する必要もあります。従来の ASP.NET)RenderAction代わりに使用RenderPartial- 私にはうまくいきませんでした。
私が間違っているか、何かが間違って理解されている場合はお知らせください。