2014-05-14 104 views
1

這是我的模型:ASP.net MVC多個選擇項

public partial class TAUX 
    { 
     public short CAT_ID { get; set; } 
     public int C_GARANT { get; set; } 

     [Required(ErrorMessage = "Taux est obligatoire")] 
     public decimal POURC_TAUX { get; set; } 
     public System.DateTime DATE_EFFET { get; set; } 
     public int TAUX_ID { get; set; } 

     public virtual CATEGORIE CATEGORIE { get; set; } 
     public virtual GARANTIE GARANTIE { get; set; } 

     public IEnumerable<int> SelectItems { set; get; } 
    } 

這是我的控制器:

public ActionResult Create() 
     { 
      ViewBag.CAT_ID = new SelectList(db.CATEGORIE, "CAT_ID", "LIBELLE"); 
      ViewBag.C_GARANT = new SelectList(db.GARANTIE, "C_GARANT", "LIB_ABREGE"); 
      return PartialView("_Create"); 
     } 

這是我的看法:

<div class="form-group"> 
      <label for="Categorie">Categorie : </label> 
      @Html.ListBoxFor(model => model.SelectItems, "CAT_ID") 
      @Html.ValidationMessageFor(model => model.CAT_ID) 
     </div> 

而且這是我得到的錯誤:

Error 1 :'System.Web.Mvc.HtmlHelper<pfebs0.Models.TAUX>' does not contain a definition for 'ListBoxFor' and the best extension method overload 'System.Web.Mvc.Html.SelectExtensions.ListBoxFor<TModel,TProperty>(System.Web.Mvc.HtmlHelper<TModel>, System.Linq.Expressions.Expression<System.Func<TModel,TProperty>>, System.Collections.Generic.IEnumerable<System.Web.Mvc.SelectListItem>)' has some invalid argument 
Error 2: Argument 3: cannot convert from 'string' to 'System.Collections.Generic.IEnumerable<System.Web.Mvc.SelectListItem>' 

我想要做的是從Categorie Tabel獲取所有數據,並將其放入ViewBg.CAT_ID。 然後在我的視圖中,我有一個listBox填充項目從ViewBag.CAT_ID,選定的值將被設置在SelectItems

+0

盡我的代碼,讓我知道。 –

回答

3

這是問題所在。

@Html.ListBoxFor(model => model.SelectItems, "CAT_ID") 

第二個參數應該是選擇列表,而不是一個字符串,因此它應該像

@Html.ListBoxFor(model => model.SelectItems, (ViewBag.CAT_ID as SelectList)) 

OR

@{ 
var list = ViewBag.CAT_ID as SelectList; 
} 

@Html.ListBoxFor(model => model.SelectItems, list) 
+0

這工作正常,但我現在正在收到其他錯誤請參閱我的更新:D – Chlebta

+0

請更改代碼以及您迄今嘗試的代碼,以便我們可以找出問題。 –

+0

我修正了錯誤請在我的帖子中查看我的更新。非常感謝。 – Chlebta