c# - HTML.TextBoxFor 禁用不传递值

标签 c# asp.net-mvc-4

我的观点如下:

@Html.TextBoxFor(model => model.PersonnelId, new { disabled = "disabled" })

在我的 Controller 中我有这个:

if (ModelState.IsValid)
{
    PersonnelFacade.SavePerson(person);
    return RedirectToAction("Index");
}

现在,当我检查 person.PersonnelId 时,它是空的。 当我删除 {disabled = "disabled"} 它工作正常但我可以更改 PersonnelId 这不是我想要做的。

我做错了什么?

最佳答案

尝试 2 个值

  1. PersonnelIdForDisplay
  2. 人员编号

然后在你看来

  1. @Html.TextBoxFor(model => model.PersonnelIdForDisplay, new { disabled = "disabled"})
  2. @Html.HiddenFor(p => p.PersonnelId)

关于c# - HTML.TextBoxFor 禁用不传递值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13267747/

相关文章:

c# - Fluent Validation 验证器在添加验证代码之前就会导致错误

asp.net-mvc-4 - 如何在运行时将 CSS 应用于 Html.ValidationSummary

css - MVC 中的默认 CSS3 复选框模板

asp.net - 路由约束asp.net mvc

css - MVC razor 获取 div 宽度并检查条件

c# - 关于 IEnumerable 和 IEnumerator 的问题

c# - 如何从 REST Web 服务返回自定义值

asp.net-mvc - Html.HiddenFor 以不同方式处理 string 和 int

c# - StringBuilder内存不足

c# - Visual Studio 2019 和 AWS : "not a supported code page" when doing a . NET Core 2.1 项目