gpt4 book ai didi

c# - MVC 4 ListBoxFor 不回发选定的项目

转载 作者:太空宇宙 更新时间:2023-11-03 10:39:55 24 4
gpt4 key购买 nike

我正在尝试为绑定(bind)到模型属性的控件设置一个列表框。我可以正确填充列表框,但在进行选择后,应包含所选项目的列表始终为空。我究竟做错了什么?我花了几个小时改变并尝试不同的东西,但仍然不起作用。

----型号----

    public class ManagementModel
{
public IEnumerable<SelectListItem> AssignableEntities { get; set; }
public IEnumerable<EntityDT> AssignedTestEntities { get; set; }

-----Controller中的Get方法-----

    [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);

}

----- View -----

@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
}

最佳答案

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

  1. 模型中的集合属性必须是 SelectListItem 类型。
  2. 模型上用于存储从集合中选择的值的属性必须是字符串。

就是这样,它每次都会起作用!自从我按照这种方法弄明白以来,我已经能够使其中的一些工作。祝你好运!

关于c# - MVC 4 ListBoxFor 不回发选定的项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25788323/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com