我有一个我定义为的文本框
<%= Html.TextBox("Username", Model.Form.Username,
new { @class = "textbox", @disabled = "disabled" })%>
动作定义为
[AcceptVerbs(HttpVerbs.Post)]
[ValidateAntiForgeryToken]
public ActionResult EditLogin(LoginForm post) {
...
return View(model);
}
当我发布到这个时,Username
将是空白的。所有其他属性都正确绑定,但是如果我更改@disabled="disabled"
为@readonly="readonly"
用户名正确绑定并且一切正常。
看起来模型绑定忽略了禁用字段中的值。有没有解决的办法?我仍然需要将字段的值绑定到模型。我可以使用只读但更喜欢使用禁用,因此用户可以直观地看出他们无法编辑字段的值。