listbox中的ASP.net MVC多重选择项

本文关键字:选择 MVC 中的 ASP net listbox | 更新日期: 2023-09-27 18:03:13

这是我的模型:

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");
        }

This is my View:

<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表中获取所有数据并将其放在ViewBg.CAT_ID中。然后在我的视图中,我有一个listBox填充了ViewBag.CAT_ID的项目,所选的值将在SelectItems中设置。

listbox中的ASP.net MVC多重选择项

问题是这样的。

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

第二个参数应该是选择列表而不是字符串,所以它应该像

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

@{
 var list = ViewBag.CAT_ID as SelectList;
}
@Html.ListBoxFor(model => model.SelectItems, list )