特定のビューで、同じタイプの 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() })
どちらを使用するのがより良いアプローチですか、または他の提案はありますか?