C# MVC 4列表框,用于不回发所选项目

C# MVC 4列表框,用于不回发所选项目,c#,asp.net-mvc-4,listbox,C#,Asp.net Mvc 4,Listbox,我正在尝试为绑定到模型属性的控件设置listboxfor。我可以正确填充列表框,但在进行选择后,应包含所选项目的列表始终为空。我做错了什么?我花了几个小时换衣服,尝试不同的东西,但还是不起作用 ----模型---- { 我终于解决了这个问题。我将在下面列出设置这些的步骤 模型上的集合属性的类型必须为SelectListItem 模型上用于存储集合中选定值的属性必须为字符串 就是这样,而且每次都能用!自从我用这种方法弄明白它以来,我已经能够让其中一些起作用了。祝你好运 public cla

我正在尝试为绑定到模型属性的控件设置listboxfor。我可以正确填充列表框,但在进行选择后,应包含所选项目的列表始终为空。我做错了什么?我花了几个小时换衣服,尝试不同的东西,但还是不起作用

----模型----

{


我终于解决了这个问题。我将在下面列出设置这些的步骤

  • 模型上的集合属性的类型必须为SelectListItem
  • 模型上用于存储集合中选定值的属性必须为字符串
  • 就是这样,而且每次都能用!自从我用这种方法弄明白它以来,我已经能够让其中一些起作用了。祝你好运

        public class ManagementModel
    {
        public IEnumerable<SelectListItem> AssignableEntities { get; set; }
        public IEnumerable<EntityDT> AssignedTestEntities { get; set; }
    
        [HttpGet()]
        public ActionResult Index()
        {
                ManagementModel model = new ManagementModel();
                List<SelectListItem> listItems = new List<SelectListItem>();
                foreach (EntityDT entity in atomService.GetAllAssignableLocations())
                {
                    SelectListItem item = new SelectListItem()
                    {
                        Selected = false,
                        Text = entity.EntityName,
                        Value = entity.EntityID.ToString()
                    };
                    listItems.Add(item);
                }
                model.AssignableEntities = listItems;
                return View(model);
    
    @using (Html.BeginForm("SaveSetup", "Management"))
    
            <div>
            @Html.ListBoxFor(model => model.AssignedTestEntities, Model.AssignableEntities, new { style = "height:350px;width:175px;" })
        </div>
    <input type="submit" id="btnGiftManagementSubmit" value="Save" />
    
        [HttpPost]
        [ValidateInput(false)]
        public ActionResult SaveSetup(ManagementModel model)
        {
           The list is empty when it gets to this method
        }