asp.net-mvc – 使用模型绑定从MVC 4中的列表中选择项目
发布时间:2020-12-16 03:37:51 所属栏目:asp.Net 来源:网络整理
导读:给一个班级 public class Person{ // Some general properties public ListHobby Hobbies { get; set; }}public class Hobby{ // Some properties e.g. Name,etc.}static ListHobby AllHobbies { get; } 是否可以创建一个允许用户使用模型绑定选择他的爱好的
给一个班级
public class Person { // Some general properties public List<Hobby> Hobbies { get; set; } } public class Hobby { // Some properties e.g. Name,etc. } static List<Hobby> AllHobbies { get; } 是否可以创建一个允许用户使用模型绑定选择他的爱好的视图? 在视图中肯定可以遍历AllHobbies并呈现< input type =“checkbox”/>对于每个,然后在回发控制器中手动连接所选值.这似乎应该可以用模型绑定,但我不知道如何. 解决方法
当然,我建议你使用编辑器模板.
假设一个爱好有一个名字和一个布尔字段,表明它是否被用户选中: public class Hobby { public string Name { get; set; } public bool Selected { get; set; } } 然后是一个控制器将模型提供给视图并处理表单提交: public class HomeController : Controller { public ActionResult Index() { var person = new Person { Hobbies = new[] { new Hobby { Name = "hobby 1" },new Hobby { Name = "hobby 2",Selected = true },new Hobby { Name = "hobby 3" },}.ToList() }; return View(person); } [HttpPost] public ActionResult Index(Person person) { var selectedHobbies = person .Hobbies .Where(x => x.Selected).Select(x => x.Name); string message = string.Join(",",selectedHobbies); return Content("Thank you for selecting: " + message); } } 然后是一个包含允许用户选择爱好的表单的视图: @model Person @using (Html.BeginForm()) { <h2>Hobbies</h2> @Html.EditorFor(x => x.Hobbies) <button type="submit">OK</button> } 以及一个相应的编辑器模板,它将自动为Hobbies集合的每个元素呈现(?/ Views / Home / EditorTemplates / Hobby.cshtml – >注意模板的名称和位置很重要): @model Hobby <div> @Html.LabelFor(x => x.Selected,Model.Name) @Html.HiddenFor(x => x.Name) @Html.CheckBoxFor(x => x.Selected) </div> 对于更高级的编辑方案,我建议您浏览Steven Sanderson的blog post关于此主题. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc – 在导航时维护url参数
- 如何在Substitution控件中使用ASP.Net服务器控件?
- 打爆你的 CPU
- linq – ASP.NET Web API GET方法:为单个参数传递多个值
- asp.net – 使用MVC4的Autofac:控制器没有默认构造函数
- asp.net-mvc – 会员提供商中的GetAllUsers在哪里?
- asp-classic – 如何使用经典asp中的vbscript下载文件
- asp.net – 计算MVC4中响应长度的简单方法
- asp.net – IE10条件IE注释<! - >功能启用程序
- asp.net – System.EntryPointNotFoundException MVC5
推荐文章
站长推荐
- asp.net-mvc – RedirectToAction导致在ASP.NET
- asp.net-mvc – 如何使用MVC调用JQuery UI模式(C
- asp.net-mvc – 用于MVC 3的Castle Windsor依赖关
- ASP.NET MVC:Application_Start和Url.Action
- asp.net – 存储字符串数组在appSettings?
- 在ASP.NET中,获取基本UR1请求的最快方法是什么?
- ASP.NET捆绑和缩小 – CSS3属性失败
- [ASP.NET MVC] 利用自定义的AuthenticationFilte
- asp.net-mvc-3 – 如何从RazorViewEngine访问Req
- 企业ASP.NET MVC 3架构大纲
热点阅读