2016-11-15 15 views
1

私はこれを理解できないようです。MultiSelect(IEnumerableアイテム、IEnumerableが選択されています)が動作しません

私は私のコントローラ

Entities db = new Entities();  

IQueryable<string> prod = db.Product.Where(p => p.Name != null) 
      .Select(p => p.Name) 
      .Distinct(); 

List<string> prodSelected = new List<string>() { "Pen", "Apple" }; 
ViewBag.ProductList = new MultiSelectList(prod, prodSelected); 

でこれらのコードを持っているとの見解では、私は文字列のリストがあるまで得られた「PROD」を想定すると、このライン

@Html.ListBox("productList", ViewBag.ProductList as MultiSelectList, new { style = "width:160px", size = 1 }) 

を持っている: -

  • "ペン"
  • "パイナップル"
  • 私は、コードを実行すると
  • 「アップル」

は、なぜリストボックスには、「ペン」と「アップル」を選択していないのですか? MSDNの参照によると、私はMultiSelectList(IEnum項目、IEnumが選択されている)を使用しています。それは動作してはいけませんか?

または(IEnumが選択されている)IDがまだ参照されているので、文字列ではなくIEnumerableを作成する必要がありますか?

List<int> prodSelected = new List<int>() { 1, 3 }; 
+2

rename ViewBag.ProductList、選択した値を保持する変数と値のリストを提供する変数は異なるはずです – Emil

+1

答えをマークアップします:-) – Emil

答えて

1

私はコメントをアップアップしているように見えることはできませんが、この質問を未解決のままにすることはできません。

基本的には、Emilのコメントで説明したように、私の間違いは、選択された値を格納した変数と、同じ名前のリストを提供する変数を持つことでした。

関連する問題