Html.TextBoxFor(M => m.Student.FirstName,新{ID = 「姓」,禁用= 「禁用」})禁用HTML.TextBoxFor()
我想禁用該文本框,所以我用禁用attr如上所述,它的工作,但在保存表單時,在上面的文本框中加載的值將變爲null。
任何身體有什麼是對
感謝
Html.TextBoxFor(M => m.Student.FirstName,新{ID = 「姓」,禁用= 「禁用」})禁用HTML.TextBoxFor()
我想禁用該文本框,所以我用禁用attr如上所述,它的工作,但在保存表單時,在上面的文本框中加載的值將變爲null。
任何身體有什麼是對
感謝
這是設計。禁用的輸入不會回發到服務器。
您可以使用'readonly'使輸入爲'只讀'。這將使數據被POSTED,但用戶不能以傳統方式編輯信息。
<input type="text" name="foo" value="Some Value" readonly="readonly" />
請記住,人們可以使用像Firebug或Dragonfly這樣的工具編輯數據並將其發回。因此,堅持腳趾,並確保數據是相同的,或者更好,只需使用disabled屬性即可。
HTML規範去的想法說,殘疾人的投入不張貼他們的價值觀。如果要將其保留在客戶端,您需要創建一個隱藏的輸入以伴隨此值。
但是,這可能不是你想要的。如果你禁用了文本框,你可能不希望用戶能夠改變這個值,但沒有任何東西阻止他們使用Firebug或類似的瀏覽器工具重新啓用輸入併發送不同的值。你可能最好在模型服務器端使用你用來獲得它的相同方法填充這個值。
您可以@ Html.TextBoxFor
Html.TextBoxFor(m => m.Student.FirstName, new { id = "FirstName", ,@readonly="readonly" })
試試這個