我有我定義爲模型綁定有殘疾文本框
<%= Html.TextBox("Username", Model.Form.Username,
new { @class = "textbox", @disabled = "disabled" })%>
在我的行動的文本框
[AcceptVerbs(HttpVerbs.Post)]
[ValidateAntiForgeryToken]
public ActionResult EditLogin(LoginForm post) {
...
return View(model);
}
post.Username將是空白,所有其他屬性綁定正確的,但如果我更改@禁用=「禁用@ readonly =」只讀「用戶名綁定正確,一切正常
它看起來像模型綁定忽略禁用字段中的值。我需要該字段的值綁定到模型。我可以使用只讀,但寧願使用禁用,因此用戶可以直觀地看到它們不能編輯字段的值。
哇,我真不敢相信我還沒有碰到這個,要麼或完全忘了這回事。謝謝。 – modernzombie 2010-04-16 14:30:32
它是一件容易忽略的事情,但Dan Diplo是正確的,在許多情況下,隱藏的領域是一個很好的選擇。出於好奇,你爲什麼禁用用戶名字段? – 2010-04-16 14:51:54
我正在創建一個管理員可以爲系統創建新登錄的表單。當管理員正在編輯登錄名時,我禁用了用戶名(由於用戶名無法更改,所以名字和電子郵件都是可編輯的)。我決定只使用readonly,並且可以使用一些CSS來區別顏色。 – modernzombie 2010-04-16 14:55:47