0

誰かが適切な構文で私を助けてくれますか?

DropDownListFor HTML ヘルパーの書き方がわからない。3 の Value プロパティに基づいて選択された "Mouse" でこれをどのように記述しますか? 私はモデルを使用していません。かみそり内でクイックリストを作成しようとしているだけです。

ありがとう

var AnimalList = new List<SelectListItem>();
AnimalList.Add(new SelectListItem { Text = "Dog", Value = "1" });
AnimalList.Add(new SelectListItem { Text = "Cat", Value = "2" });
AnimalList.Add(new SelectListItem { Text = "Mouse", Value = "3" });
AnimalList.Add(new SelectListItem { Text = "Squirrel", Value = "4" });
AnimalList.Add(new SelectListItem { Text = "Fox", Value = "5" });


@Html.DropDownListFor(? , ?, ?);
4

2 に答える 2

2

@Html.DropDownListForモデルなしでは使用できません。ただし、@Html.DropDownListモデルなしで使用できます。

コントローラ内

var AnimalList = new List<SelectListItem>();
AnimalList.Add(new SelectListItem { Text = "Dog", Value = "1" });
AnimalList.Add(new SelectListItem { Text = "Cat", Value = "2" });
AnimalList.Add(new SelectListItem { Text = "Mouse", Value = "3" });
this.ViewBag.Animals = new SelectList(AnimalList, "Value", "Text", "3");

ビューで

@Html.DropDownList("myDropDown", ViewBag.Animals as SelectList)
于 2013-01-09T19:21:41.147 に答える
0

DropDownListForモデルなしでは使用できません。そのオーバーロードを見てください。誰もがモデルプロパティから始めます。これは、ヘルパーがモデルバインダーのname属性を設定するために使用するものです。

ただし、を使用することはできますDropDownList。それぞれのオーバーロードの最初の引数は。であることに注意してくださいstring name。ここでは、名前属性を自分で設定します。

@Html.DropDownList("myDropDownList", AnimalList)

ヘルパーでアイテムをselectedに設定するのではなく、次のようにSelectListItem宣言で設定します。

AnimalList.Add( new SelectListItem 
                    { 
                      Text = "Mouse", 
                      Value = "3", 
                      Selected = true 
                    } 
              );
于 2013-01-09T19:16:48.820 に答える