我有一个文本框,我将其定义为
<%= 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"
,用户名绑定正确,一切正常.
看起来模型绑定忽略了禁用字段中的值.有什么办法可以绕过这件事吗?我仍然需要字段的值才能绑定到模型.我可以使用只读,但更喜欢使用禁用,因此用户在视觉上很明显不能编辑该字段的值.