私はIDictionaryを持っています、今私は選択リストでこれらの値を使用したいと思います。これはどうすればいいですか?IDictionaryをSelectListにするには?
ありがとうございました。
私はIDictionaryを持っています、今私は選択リストでこれらの値を使用したいと思います。これはどうすればいいですか?IDictionaryをSelectListにするには?
ありがとうございました。
dataValueField
とdataTextField
については、"Value"
と"Key"
を設定してください。ビュー自体またはアクションからこれを行うことができます(以下のコードはテストしていません)。
var targets = new Dictionary<string, string>(); targets.Add("Key", "Value"); ViewData["MyList"] = new SelectList(targets, "Key", "Value");
まあ、IDictionary
はIEnumerable
から継承していますので、SelectList
のコンストラクタの1つにその辞書を渡すことができます。
IDictionaryの代わりにValuesプロパティを渡す必要があります。 IDictionaryを渡すだけでは、値の代わりにキーと値のペアが得られます。 –
私たちがテストに使用できるように、使用しているコードを投稿してください。 –
@ Meta-Knight通常、選択リストにはキーも必要です。正規化されたデータを使用していない場合を除き... – ProfK
入手していただきありがとうございます。 –
@David:宣言が提案する:public class Dictionary。したがって、私はキーと値を切り替え、最後に:新しいSelectList(ターゲット、 "Key"、 "Value"); –
@Bolt Thunder:更新されました。 – David