Asp.net-Mvc
ReadOnly 屬性在 ASP.NET MVC 模型中不起作用
我在模型類中將一個屬性標記為只讀,如下所示:
public class RegisterModel { [Display(Name = "User name")] [ReadOnly(true)] public string UserName { get; set; } ... }在我看來:
@Html.EditorFor(m => m.UserName)但是當我執行應用程序時,文本框不是只讀的。
我知道我可以在視圖中使用 html 屬性將其設為只讀,但如果這可以在模型類本身中完成,我更願意。
可以實現嗎?
[更新] 我認為沒有
new { @readonly = "readonly" }.Readonlyproperty 指定此屬性綁定到的屬性是只讀的還是讀/寫的。詳情在這裡。但是您可以嘗試自定義助手或嘗試在模型上使用
Editable而不是Readonly在您的視圖中使用元數據屬性。[Editable(false)]我想您已經研究過 ReadOnly(true) 是否與 Html.EditorForModel 一起工作?
也是一篇很好的文章odetocode.com
ReadOnly屬性不會阻止 HMTL 幫助器將該欄位顯示為啟用的輸入。這是唯一 MVC 數據 Binder 將尊重的資訊。這意味著
RegisterModel將在使用者送出表單後發回的實例將始終null在其屬性上具有價值UserName,而不管使用者在表單的相應欄位中的輸入如何。