asp.net – MVC 3在IEnumerable模型视图中编辑数据
发布时间:2020-12-16 04:24:20 所属栏目:asp.Net 来源:网络整理
导读:我正在尝试在强类型剃刀视图中编辑项目列表.模板不允许我在单个视图中编辑对象列表,因此我将List视图与Edit视图合并.我只需要在复选框中编辑一个布尔字段. 问题是我无法将数据恢复到控制器.我该怎么做?的FormCollection?可视数据?提前致谢. 这是代码: 楷
我正在尝试在强类型剃刀视图中编辑项目列表.模板不允许我在单个视图中编辑对象列表,因此我将List视图与Edit视图合并.我只需要在复选框中编辑一个布尔字段.
问题是我无法将数据恢复到控制器.我该怎么做?的FormCollection?可视数据?提前致谢. 这是代码: 楷模: public class Permissao { public int ID { get; set; } public TipoPermissao TipoP { get; set; } public bool HasPermissao { get; set; } public string UtilizadorID { get; set; } } public class TipoPermissao { public int ID { get; set; } public string Nome { get; set; } public string Descricao { get; set; } public int IndID { get; set; } } 控制器动作: public ActionResult EditPermissoes(string id) { return View(db.Permissoes.Include("TipoP").Where(p => p.UtilizadorID == id)); } [HttpPost] public ActionResult EditPermissoes(FormCollection collection) { //TODO: Get data from view return RedirectToAction("GerirUtilizadores"); } 视图: @model IEnumerable<MIQ.Models.Permissao> @{ ViewBag.Title = "EditPermissoes"; } @using (Html.BeginForm()) { <table> <tr> <th></th> <th> Indicador </th> <th> Nome </th> <th>Descri??o</th> <th></th> </tr> @foreach (var item in Model) { <tr> <td> @Html.CheckBoxFor(modelItem => item.HasPermissao) </td> <td> @Html.DisplayFor(modelItem => item.TipoP.IndID) </td> <td> @Html.DisplayFor(modelItem => item.TipoP.Nome) </td> <td> @Html.DisplayFor(modelItem => item.TipoP.Descricao) </td> </tr> } </table> <p> <input type="submit" value="Guardar" /> </p> } 解决方法
以上都不是,使用视图模型: [HttpPost] public ActionResult EditPermissoes(IEnumerable<Permissao> model) { // loop through the model and for each item .HasPermissao will contain what you need } 在视图内部而不是编写一些循环使用编辑器模板: <table> <tr> <th></th> <th> Indicador </th> <th> Nome </th> <th>Descri??o</th> <th></th> </tr> @Html.EditorForModel() </table> 并在相应的编辑器模板内(?/ Views / Shared / EditorTemplates / Permissao.cshtml): @model Permissao <tr> <td> @Html.CheckBoxFor(x => x.HasPermissao) </td> <td> @Html.DisplayFor(x => x.TipoP.IndID) </td> <td> @Html.DisplayFor(x => x.TipoP.Nome) </td> <td> @Html.DisplayFor(x => x.TipoP.Descricao) </td> </tr> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc-3 – 有没有办法迭代ASP.NET MVC3站点中的所有
- ASP.NET Update Panel阻止jquery工作
- asp.net – ‘System.Web.UI.WebControls.TextBoxMode’不包
- asp.net – 关系从一对多变为多对多需要更新listview
- asp.net – 如何将会话超时设置超过20分钟.
- ASP.Net 分页控件源码
- 存储ASP.NET会话状态时AppFabric Cache的新缓存参数
- asp.net – 使用sql server的Web应用程序中的审计跟踪
- asp.net验证文本框 – 至少有一个文本框必须包含数据
- asp.net-mvc – 路由测试ASP.NET MVC4
推荐文章
站长推荐
- asp.net-mvc-3 – MVC3中TextBoxFor中的控件名称
- asp.net-mvc – 如何解决消息过滤器表明应用程序
- asp.net-mvc – 重启后浏览器不缓存资源
- asp.net – 将HyperLinkField设置为Javascript U
- ASP .NET MVC 3 – 如何提交嵌套在html表单中的a
- ASP.Net MVC – 为什么要为favicon.ico创建一个控
- asp.net-mvc – 使用Ninject.Web.Mvc 2.0和ASP.N
- 验证 – ASP.NET Web API是否支持IValidatableOb
- asp.net – 在代码中设置PageSize时,DataPager停
- 在ASP.NET上构建维基百科(学习练习).如何清理不受
热点阅读