これが私のコードです:
<%: Html.DropDownListFor(m => m.type, new SelectList(new[] { "something", "other", "third thing" }))%>
また、m.typeの値は1です。これは、「その他」を選択する必要があることを意味します。しかし、そうではありません。なぜこれが起こっているのですか、そしてそれをどのように解決するのですか?
これが私のコードです:
<%: Html.DropDownListFor(m => m.type, new SelectList(new[] { "something", "other", "third thing" }))%>
また、m.typeの値は1です。これは、「その他」を選択する必要があることを意味します。しかし、そうではありません。なぜこれが起こっているのですか、そしてそれをどのように解決するのですか?
これが機能しない理由は、選択リスト項目に数値がないためです。ソースコードを見ると、値が数値ではなくテキストと同じであることがわかるでしょう。
これを修正するには、数値も追加して選択リストを作成する必要があります。
したがって、次のように選択リストを作成する必要がある場合があります。
new SelectList(new[] {
new SelectListItem{Text = "something", Value = 0},
new SelectListItem{Text ="other", Value = 1},
new SelectListItem{Text ="third thing", Value = 2 }})