gpt4 book ai didi

asp.net-mvc - Bootstrap Multiselect 获取 HttpPost 上的选定值

转载 作者:行者123 更新时间:2023-12-02 04:21:53 25 4
gpt4 key购买 nike

我正在使用这个Bootstrap Multiselect我的问题是我无法在 ASP.Net MVC 上的 HttpPost 上获取所选值。

遇到的问题:

  • 点击保存后,只有第一个选定的值出现在该模型。 (已解决)

  • 点击保存后,只有第一个选定的值出现在下拉列表。

示例.chtml:

@model SampleProject.Models.SampleViewModel

@using (Html.BeginForm())
{
@Html.DropDownListFor(model => model.Selected, new SelectList(Model.List, "value", "text"), new { @class = "multiselect form-control", multiple = "multiple" })
<input type="submit" value="Save" />
}

型号:

public class SampleViewModel
{
public string[] Selected { get; set; }
public SelectList List { get; set; }
}

Controller :

public class DashboardController : Controller
{
public ActionResult Sample()
{
SampleViewModel model = new SampleViewModel();
model.List = new SelectList(new List<string>() { "1", "2", "3" });

return View(model);
}

[HttpPost]
public ActionResult Sample(SampleViewModel model)
{
model.List = new SelectList(new List<string>() { "1", "2", "3" });

return View(model);
}
}

选择:

Selection

我无法在 HttpPost 上正确获取所选值

代码隐藏/HttpPost:(错误) HttpPost

HttpPost 之后:(正确)

After

最佳答案

一个<select multiple="multiple">回发一组值(不是单个值)。您属性Selected需要是IEnumerable ,例如

public string[] Selected { get; set; }

旁注:由于文本和值属性相同,因此您可以通过设置 List 来简化代码。属性(property)SelectList

public SelectList List { get; set; }

然后在 Controller 中

model.List = new SelectList(new List<string>() { "1", "2", "3" })

(虽然不清楚为什么你不使用 int )

关于asp.net-mvc - Bootstrap Multiselect 获取 HttpPost 上的选定值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29466959/

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