1

私はasp.net mvcで作業しています。ビューにリストボックスがあります。このリストボックスのオプションは、ページの読み込み時に常に選択されます。このリストボックスの選択値を定義していません。なぜこれが起こっているのか誰にも教えてもらえますか?

ここにコードがあります

          @{
               Dictionary<string, string> Options = new Dictionary<string, string>();
               ddlOptions.Add("1", "1");
               ddlOptions.Add("2", "2");
               ddlOptions.Add("3", "3n");
               ddlOptions.Add("4", "4");
           }
           <td>@Html.ListBoxFor(model => model.AvailableProducts, 
           new MultiSelectList(Options , "Key", "Value"), 
           new { size = "6" })

model.AvailableProducts は文字列のリストです:

        List<string> product = new List<string>();
        product.Add("1");
        product.Add("2");
        product.Add("3");
        product.Add("4");
4

1 に答える 1

1

オプションはモデルの状態を反映しているため、既に選択されています。この行

@Html.ListBoxFor(model => model.AvailableProducts

model.AvailableProductsプロパティをリスト ボックスにバインドするように ASP.NET MVC に指示します。このプロパティには、リストに示されている 4 つのオプションがすべて含まれているため、デフォルトですべて選択されています。このリストを満たすコードをコメントアウトして、どのオプションも選択されていないことを確認できます。

AvailableProducts名前付きの特定のパラメーターをリクエストに追加するオプションを含むリスト ボックスだけが本当に必要な場合は、次を使用できますHtml.ListBox

@Html.ListBox("AvailableProducts", 
       new MultiSelectList(Options , "Key", "Value"), 
       new { size = "6" })
于 2013-06-24T12:30:59.673 に答える