次のモデルを考えると、
public class A
{
public string Name { get; set; }
}
public class B
{
public string Address { get; set; }
public A InstanceOfA { get; set; }
}
意見、
<%= Html.TextBox("A.Name") %>
およびコントローラー
UpdateModel<B>(b, collection.ToValueProvider());
私の b インスタンスには、Name に空の文字列を持つ A のプロパティが含まれます。
名前に値が入力されていない場合、UpdateModel に A プロパティを null に設定させる方法はありますか?
明確にするために、これは単純なケースです。私の現実世界のシナリオには、この類の何百ものプロパティを持つデータ モデルが含まれています。これらのデータ モデルの定義は、私の手に負えません。したがって、一般的なケースの解決策が必要です。つまり、値が入力されていない場合はプロパティを作成しないでください。
さらなる明確化: これは編集シナリオでも機能する必要があります。つまり、A.Name が "foo" に設定された b のインスタンスは、A.Name を "" に設定するように編集されます。A を null にする必要があります。