I have marked a property as readonly in the model class, like this:
public class RegisterModel
{
[Display(Name = \"User name\")]
[Re
ReadOnly
attribute doesn't block the HMTL helper to display the field as an enabled input. It is an information that the only the MVC data Binder will respect.
It means that RegisterModel
instance, which will be posted back after form submission by a user, will always has null
value on it's UserName
property, regardless of user's input in the appropriate field of the form.
[Update] I don't think it is possible without new { @readonly = "readonly" }
.Readonly
property specifies whether the property this attribute is bound to is read-only or read/write. Details Here.
But you could try for Custom Helpers or try Using Editable
instead Readonly
on the model and use the metadata property in your View.
[Editable(false)]
I guess you have already looked into Does ReadOnly(true) work with Html.EditorForModel?
also a fine article odetocode.com
If you're using a SETTER you have to use { get; private set; }. That will make it so the client can't change the value. You can also just use an HTML 5 input and mark it there.
ReadOnly attribute does not set the input to read-only.
Try this
Html.TextBoxFor(x => x.UserName, new { readonly = "readonly" })