asp.net-mvc – ASP.NET MVC Gotcha?失意
我有一个ASP.NET MVC html助手问题,如TextBoxFor(),HiddenFor()等.如果我有一个模型,如Employee,字符串成员名称和执行
Html.TextBoxFor(p => p.Name),假设ASP.NET MVC将始终使用Employee名称中的值,这是错误的吗?因为它没有. ASP.NET将覆盖该绑定并使用POST中的内容.
例如,让我说我有以下代码: 模型 namespace MvcApplication2.Models { public class Company { public string Name { set; get; } public List<Employee> Employees { set; get; } } public class Employee { public string Name { set; get; } } } 调节器 namespace MvcApplication2.Controllers { public class HomeController : Controller { public ActionResult Company(string Name) { return View(new Company { Name = Name,Employees = new List<Employee> { new Employee { Name = "Ralph" },new Employee { Name = "Joe" } } }); } } } 首页/ Company.cshtml @using MvcApplication2.Models; @model Company <h2>Company's Name: @Model.Name</h2> @foreach (Employee emp in Model.Employees) { Html.RenderPartial("Employee",emp); } 首页/ Employee.cshtml @model MvcApplication2.Models.Employee <b>Employee's Name: </b> @Html.TextBoxFor(p => p.Name); 当我点击相对网址“Home / Company?Name = MSFT”时,我希望Employee.cshtml在文本框中呈现“Ralph”和“Joe”,但它会为两个文本框呈现MSFT.我需要做什么才能让“拉尔夫”和“乔”出现在文本框中?我是否必须确保我的POST和GET变量在我的视图模型的所有层中都不会发生冲突(在本例中是公司和员工类)?这看起来很傻.必须有一个简单的解决方法,对吧? 这是结果的屏幕截图: 解决方法
HtmlHelper方法和ModelState
使用MVC HtmlHelper方法需要了解的重要事项: ModelState很重要,因为它包含用户提交的值.如果页面验证失败,则ModelState用于存储先前的值和错误消息. 如果你想POST一个表单,如果一切都有效,你想再次显示表单,你要么必须: >从POST重定向到GET(遵循PRG模式) EditorFor vs RenderPartial 另一个重要的事情是EditorFor / DisplayFor与RenderPartial之间的区别. 当你对一个项目使用EditorFor / DisplayFor(例如.EditorFor(m => m.Person))时,它会在“Person”模板中添加一个“命名空间”,这样子控件就会有一个独特的名字.例如,在模板中,.TextBoxFor(p => p.Name)将呈现类似< input name =“Person.Name”.... 但是,使用RenderPartial时,不会创建此类命名空间.因此,.TextBoxFor(p => p.Name)将呈现< input name =“Name”...,如果您有多个编辑器,则不会是唯一的. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc – 在ASP.NET MVC应用程序下将ASP.NET Web API
- asp.net-mvc – 用于选择列表的ASP.NET MVC模型与ViewData
- asp.net – 会话变量可以容纳的最大大小是多少?
- asp.net-mvc-2 – ASP.NET MVC 2多个PartialView Forms字段
- asp.net-mvc – 当模型绑定包含bool时,表单集合必须包含哪个
- Asp.net MVC实现生成Excel并下载功能
- ASP.NET 使用System.Drawing 绘制随机验证码
- asp.net – Mscaptcha在本地运行良好,但图片没有在服务器中
- 用ASP.net检测iPad
- asp.net – 是否有相当于mod_pagespeed Apache模块的IIS?
- .NET Core的日志[1]:采用统一的模式记录日志
- 深蓝词库转换2.0发布——支持仓颉、注音、五笔、
- asp.net-mvc – ASP.NET MVC 2中的DataAnnotatio
- asp.net-mvc-routing – 如何在MapHttpRoute中设
- asp.net – 如何防止Entity Framework将FileStre
- asp.net-mvc – 用于字符串的ASP.NET MVC显示模板
- asp.net-mvc-4 – Durandal.js:更改每个区域的导
- asp.net-mvc – “无法同时分析32位和64位应用程
- asp.net-mvc – ASP.NET MVC – 在控制器之间共享
- asp.net – 通过web.config覆盖machine.config