The ReadOnly attribute does not seem to be in MVC 4. The Editable(false) attribute does not work the way I would want it to.
Is there something similar that works?
If not then how can I make my own ReadOnly attribute that would work like this:
public class aModel
{
[ReadOnly(true)] or just [ReadOnly]
string aProperty {get; set;}
}
so I can put this:
@Html.TextBoxFor(x=> x.aProperty)
instead of this ( which does work ):
@Html.TextBoxFor(x=> x.aProperty , new { @readonly="readonly"})
or this ( which does work but values are not submitted ):
@Html.TextBoxFor(x=> x.aProperty , new { disabled="disabled"})
http://view.jquerymobile.com/1.3.2/dist/demos/widgets/forms/form-disabled.html
something like this maybe? https://stackoverflow.com/a/11702643/1339704
Note:
[Editable(false)] did not work
You can create a custom helper like this that will check the property for the presence of a
ReadOnly
attribute:The attribute is simply:
For an example model:
I have verified this works with the follow razor code:
Which renders as:
If you need
disabled
instead ofreadonly
you can easily change the helper accordingly.You could create your own Html Helper Method
See here: Creating Customer Html Helpers
Actually - check out this answer