c# - 从 ASP.NET MVC 中的复选框中获取值
问题描述
我有这个 for-each 循环来显示(如果合适,设置检查):
<div class="col-lg-9 col-xl-6">
@if (Model.PersonTypes != null)
{
foreach (var _t in Model.AllPersonTypes)
{
<label class="kt-checkbox kt-checkbox--bold kt-checkbox--brand">
<input type="checkbox" name="PersonType" checked="@Model.PersonTypes.FirstOrDefault(n => n.PersonTypeName == _t.PersonTypeName)"> @_t.PersonTypeName
<span class="kt-margin-l-10"></span>
</label>
}
}
</div>
Model.PersonTypes
包含Person
所属的类型,Model.AllPersonTypes
包含所有可用的人员类型
我需要的是在更新Person
控制器中的详细信息时如何获取选定的值
解决方案
您的 POST 模型(您的 post 操作接受的模型)应该包含一个属性,该属性包含一个集合,比如说 int - 或者您的 PersonType 主键数据类型是什么。然后修改您的复选框元素以包含一个值。
public class PostPersonTypeModel {
public List<int> PersonType {get;set;} = new List<int>();
}
<input type="checkbox"
name="PersonType"
checked="@Model.PersonTypes.FirstOrDefault(n => n.PersonTypeName == _t.PersonTypeName)"
value="@_t.PersonTypeID"> @_t.PersonTypeName
然后,您的PostPersonTypeMode.PersonType
集合将为每个选中的项目保存一个元素。
推荐阅读
- javascript - 从 Firestore 接收图像时如何等待承诺?
- wpf - WPF:跟踪 ItemsControl/ListBox 中的相对项目位置
- vue.js - 如何从 url 过滤 vuejs 中选择过滤器
- arrays - Ruby:方法未返回预期输出
- windows-10 - NodeJS ZIP 符号链接,无法在 Windows 10 上读取它们
- python - UnboundLocalError:在使用torch和yolov3进行对象检测的分配白色训练之前引用了局部变量“标签”
- javascript - 在 resolve 中调用函数
- docker - 使用来自 docker-container 的非静态 IP 连接到主机
- android - HTTP 引荐来源网址是否适用于移动应用程序?
- angular - 为什么属性数组总是在模板中返回null