ユーザーがケアプロバイダーを選択できるドロップダウンリストがあります。データベースではこれの値ですがnull
、アプリケーションでは値が選択されます。null
値が空白として表示されるようにするにはどうすればよいですか? これがデフォルトの動作だと思いました。ビューバッグの代わりにビューモデルで厳密に型指定されたリストを使用するように変更しましたが、これはその時点で壊れている可能性があります。
ビューのマークアップは次のとおりです。
<div class="editor-label">
@Html.LabelFor(model => model.PsychologistId, "Psychologist")
</div>
<div class="editor-field">
@Html.DropDownListFor(x => x.PsychologistId, Model.ListPsychologists)
@Html.ValidationMessageFor(model => model.PsychologistId)
</div>
ビューモデルのプロパティは次のとおりです。
[DisplayName("Psychologist")]
public Nullable<int> PsychologistId { get; set; }
これが私のコントローラーの関連部分です:
model.ListPsychologists = new SelectList(XXX, "Id", "DisplayName");
return this.View(model);
ここで、XXX は、フィルター処理と並べ替えの条件を指定した単なる LINQ 式です。明確さとスペースのために省略されています。
コントローラーからビューに渡されたモデルはPsychologistId
、null
. のSelectedValue
プロパティmodel.ListPsychologists
は ですnull
。