【发布时间】:2019-12-10 06:24:36
【问题描述】:
我正在使用 ASP.NET MVC 来填充一组复选框。这些复选框会根据用户在前一个视图中选择的内容而变化。我正在使用剃须刀。在我看来:
@foreach (var skills in Model.SkillsAvailable)
{
<input name="pack" type="checkbox" value="@skills" /> @skills<br />
}
@Html.HiddenFor(m => m.SkillsSelected, new { @class = "hidden" })
我还有其他几个看起来几乎与此相同,但都是单选单选按钮。它通过 jQuery 在更改时采用选定的选项并填充 HiddenFor 来发挥作用。 HiddenFor 在提交时传递给控件。没有问题。
但对于我的复选框,我不确定如何将多个项目发回。如果此列表填充 10 个项目,而用户只能选择 2 个,我如何将它们添加到 List
我的第一直觉是,我可以使用另一个 foreach 循环以某种方式添加(例如选择的 foreach,添加到列表中)。但我不知道那是什么样子,除了使用布尔值之外,谷歌搜索并没有带来任何东西,如果列表每次都相同,这是有道理的,但如果列表有 5 到 30 个选项,则取决于之前的选择。
此时,我没有任何 jQuery 控制此部分,所以我没有它的代码。我的控制器很好地填充了复选框列表,但没有处理其他任何事情。
我的模型中唯一重要的属性就是这些,我可以在必要时更改它们。
public List<string> SkillsAvailable { get; set; }
public List<string> SkillsSelected { get; set; }
【问题讨论】:
标签: jquery html asp.net-mvc razor checkbox