HTML.TextBoxFor已禁用,未传递值

时间:2012-11-07 10:26:42

标签: c# asp.net-mvc-4

我认为我有以下几点:

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

在我的控制器中我有这个:

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

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

我做错了什么?

2 个答案:

答案 0 :(得分:10)

尝试2个值

  1. PersonnelIdForDisplay
  2. PersonnelId
  3. 然后在你的观点

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

答案 1 :(得分:5)

尝试改为只读。

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