htmlコントロールのdropdownlistforが選択されたオプションを表示していない箇所がたくさんあります。ユビキタスHTML.DropDownList選択された値を動的に照会することはできますが、デフォルトを選択しないでください。
私のアプリはビューモデルを使用していますが、私が今までに読んだことは、ほとんどの場合、これは変数型が異なるデータ型であるという事実にあります。
私の場合、dropdownlistforはドロップダウンリストの部分に値を設定していますが、現在の値は設定していません。ビューモデルで
@Html.DropDownListFor(m => Model.TypeCaption, Model.Types)
:ビューで
public MyData()
{
public int Id { get; set; }
public string TypeCaption { get; set; }
public string Reference { get; set; }
public IEnumerable<SelectListItem> Types { get; set; }
}
例データ:
Id = 3762, TypeCaption = "Option2", Reference = "Some value to be displayed"
IEnumerated<SelectListItem> Types
Value = "1", Text = "Option1"
Value = "2", Text = "Option2"
Value = "3", Text = "Option3"
だから私は
@Html.DropDownListFor(m => Model.TypeCaption, Model.Types)
を期待10
Typesプロパティから2番目のSelectlistItemを表示するには、代わりに1番目のSelectlistItemを表示します。 =だから、「2」
私は途方に暮れていますように、なぜこれが起こっているに値:
私は正しい答えを返し
Model.Types.Where(x => x.Text == Model.TypeCaption).Select(x => x.Value)
を使用して、データ型が同じであることを確認しています。
更新
ただScrobiの答えを試してみましたが、それが何の違いが行われていません。私は解決策を見つけた
「@Html.DropDownListFor(m => m.TypeCaption、Model.Types)」 – Scrobi
Scrobiの回答で更新された質問 – gilesrpa