2016-07-12 2 views
-1

を持っている「のIEnumerable 」がありません、私は鍵を持っているタイプ「IEnumerableを」は何のViewData項目がありませんというエラーに タイプの一切のViewData項目がキー「SelectedCategoriesIds」

を得た「SelectedCategoriesIds」 。

マイモデルコード:

public class NewsViewModel 
    { 
     public int NewsId { get; set; } 
     public string NewsTitle { get; set; } 
     public string NewsBody { get; set; } 
     public System.DateTime NewsDate { get; set; } 
     public string NewsImagePath { get; set; } 
     public HttpPostedFileBase NewsImageFile { get; set; } 
     public int[] SelectedCategoriesIds { get; set; } 

    } 

コントローラでの私のコード:

var list = db.Categories.ToList(); 
ViewBag.CategoryList = from c in list 
         orderby c.CategoryName 
         select new SelectListItem 
           { 
            Value = c.CategoryId.ToString(), 
            Text = c.CategoryName.Trim() 
           }; 

やカミソリで:

@Html.DropDownListFor(model => model.SelectedCategoriesIds, 
        (IEnumerable<SelectListItem>)ViewBag.CategoryList, 
         new 
         { 
          id = "dropdownOne", 
          @class = "form-control", 
          multiple = "true" 
         } 
        ) 
+1

は、私は、コードを編集したモデルクラス –

+0

@EhsanSajjadを表示する[あなたをint型ではないint型ならば '' 'int''ない' '[]' ' – Lucy

+0

' 'SelectedCategoriesIdsを'ありがとう]どのように私はそれをループすることができますか?私はIDの配列が必要 –

答えて

0

DropDownListForが唯一の選択をサポートしています。複数の選択肢があるので、CheckBoxListForが必要なようです。

あなたはそれがint []サポートしていませんが、私は今それを追加するつもりです現時点で

https://github.com/stephenzeng/CheckBoxList.Mvc

をCheckBoxListFor提供私の小さなnugetパッケージCheckBoxList.Mvcを確認することができます。複数の場合

0

はあなたが

  • @ Html.ListBoxFor(X => x.model.SelectedCategoriesIdsを使用することができます選択し、(IEnumerableを)ViewBag.CategoryList、新しい{ID = "AnyName"、複数= "複数" })
+0

あなたの助けをありがとうが、同じエラー – Lucy

関連する問題