asp.net-mvc – 用于多个复选框表单的ASP.Net MVC6语法
发布时间:2020-12-16 03:24:20 所属栏目:asp.Net 来源:网络整理
导读:我正在构建一个ASP.NET MVC6 Web应用程序(ASP.net Core 1.0),并希望有一个简单的表单,其中包含单个属性的多个复选框,允许多个选择.让我们说,为了论证,我希望用户从一系列颜色(红色,蓝色,绿色,黄色等)中选中一个或多个复选框. 我有三个与此相关的问题…… 1)
我正在构建一个ASP.NET MVC6 Web应用程序(ASP.net Core 1.0),并希望有一个简单的表单,其中包含单个属性的多个复选框,允许多个选择.让我们说,为了论证,我希望用户从一系列颜色(红色,蓝色,绿色,黄色等)中选中一个或多个复选框.
我有三个与此相关的问题…… 1)我的视图模型中的Colors属性应该是什么数据类型(string,string [],bool [],List< String>,还有其他内容)? SelectList在MVC6中仍然是有效的吗? 3)我的View中用于表示表单中复选框列表的正确语法是什么?我应该在这里使用新的Tag helpers功能吗? 4)我的控制器动作的输入参数应该是什么?在asp.net 4.x中,它将是一个FormCollection但不确定它是否仍然有效? 解决方法
我刚刚实现了非常类似的东西:
复选框模型 public class CheckboxModel { public int Value { get; set; } public string Text { get; set; } public bool Checked { get; set; } } 视图模型 public class MyViewModel { public MyViewModel() { // populate checkbox collection with defaults here (or in your controller) } [AtLeastOneRequired(ErrorMessage = "Please check at least one checkbox.")] public class List<CheckboxModel> Checkboxes { get; set; } } 视图 @for (var i = 0; i < Model.Checkboxes.Count; i++) { <div class="checkbox-inline"> <input type="checkbox" asp-for="@Model.Checkboxes[i].Checked"/> <input type="hidden" asp-for="@Model.Checkboxes[i].Text" /> <input type="hidden" asp-for="@Model.Checkboxes[i].Value" /> <label asp-for="@Model.Checkboxes[i].Checked">@Model.Checkboxes[i].Text</label> </div> } 我想知道在MVC6中是否有一种比较适合的视图部分,但我还没有找到它. 自定义验证属性 public class AtLeastOneRequiredAttribute : ValidationAttribute { protected override ValidationResult IsValid(object value,ValidationContext context) { var vm = (MyViewModel) context.ObjectInstance; if (vm.Checkboxes.Any(v => v.Checked)) { return ValidationResult.Success; } return new ValidationResult(ErrorMessage); } } Controller Action简单地说是: public async Task<IActionResult> MyControllerAction(MyViewModel vm) 我知道这是一个老问题,但希望这个答案可以帮助别人. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-core – 如何在AutoMapper配置文件类中注入服务
- asp.net – ASP .Net实体框架.tt文件不嵌套在.edmx下
- ASP.NET MVC下自定义错误页和展示错误页的方式
- asp.net – 在mvc网站中设置基本标记中的url路径的不同方法
- asp.net-mvc – 使用NHibernate和Autofac管理多个数据库
- 有没有办法通过ASP.NET和app_offline.htm来显示图像?
- 如何在ASP.NET MVC中渲染HTML字符串?
- asp.net-mvc – 为Asp.net Web API使用Service Bus
- castle-windsor – 如何在ASP.NET 4 RC WebAPI中将依赖注入
- asp.net-mvc – ASP.net MVC路由参数异常
推荐文章
站长推荐
- asp.net-mvc – 使用Automapper更新现有的实体PO
- asp.net-mvc – 在MVC中保存文件对话框
- asp.net-mvc-3 – 从IIS7中的虚拟目录运行ASP.NE
- asp.net-mvc-3 – 何时在Mvc3中使用ViewBag,View
- 如何在ASP.NET MVC应用程序中本地化Controller名
- asp.net – 在非开发环境中省略从Web API方法返回
- AMF学习1数据类型
- 在ASP.NET中如何检测上传文件的MIME类型?
- asp.net – Mono vhost配置错误:地址已经在使用
- asp.net-mvc-4 – ASP .Net MVC 4 Authorize和Al
热点阅读