特定のビューで、同じタイプの 2 つの異なるオブジェクトを持つことができるシナリオがあります[Customer]。最初のものは と呼ばれCustomer、もう 1 つは と呼ばれCustomerApproveます。後者には、承認される顧客データの変更が含まれています。
オブジェクトが塗りつぶされている場合CustomerApproveは、テキストボックスにその値を含めたいと思います。それ以外の場合は、通常のCustomerオブジェクト値を使用します。
これを達成するために2つの方法を考えました。
@value 初期化子とインライン IF ステートメントを使用する
Html.TextBoxFor(m => Customer.City, new { @Value = somecondition ? CustomerApprove.City : Customer.City })モデルのメソッドを呼び出して、使用するオブジェクトを決定します。
Html.TextBoxFor(m => Customer.City, new { @Value = Model.SomeMethodToGetTheValue() })
どちらを使用するのがより良いアプローチですか、または他の提案はありますか?