Das Attribut ReadOnly scheint nicht in MVC 4 zu sein. Das Attribut Editable (false) funktioniert nicht so, wie ich es möchte.MVC 4 Rasierklinge Data Annotations ReadOnly
Gibt es etwas Ähnliches, das funktioniert?
Wenn nicht, dann wie kann ich meine eigene Readonly-Attribut zu machen, die wie folgt funktionieren würde:
public class aModel
{
[ReadOnly(true)] or just [ReadOnly]
string aProperty {get; set;}
}
so kann ich dies gesagt:
@Html.TextBoxFor(x=> x.aProperty)
statt dessen (die Arbeit der Fall ist):
@Html.TextBoxFor(x=> x.aProperty , new { @readonly="readonly"})
oder diese (was funktioniert, aber Werte werden nicht vorgelegt):
@Html.TextBoxFor(x=> x.aProperty , new { disabled="disabled"})
http://view.jquerymobile.com/1.3.2/dist/demos/widgets/forms/form-disabled.html
so etwas wie vielleicht das? https://stackoverflow.com/a/11702643/1339704
Hinweis:
[Editierbare (false)] hat nicht funktioniert
Gibt es eine Möglichkeit, es mit jedem HTML-Helfer arbeiten zu lassen, anstatt einen neuen HTML-Helfer zu erstellen? – Soenhay
Es gibt keine Möglichkeit, mit allen Helfern so zu arbeiten, wie Sie wollen. Aus diesem Grund haben die meisten Helfer das optionale 'htmlAttributes'-Argument, mit dem Sie Dinge wie 'readonly' nach Bedarf angeben können. Meine obige Lösung ist, wie Sie es für die Anforderungen implementieren müssten, die Sie gaben, d. H. Mit einem Attribut. Eine andere Lösung, obwohl ich nicht glaube, dass es sauberer wäre als die Angabe von '@readonly =" readonly "', wäre es, eine Erweiterung zu erstellen, um am ausgegebenen HTML vom Helfer zu arbeiten, zB '@ Html.TextBoxFor(). Readonly() '. – asymptoticFault
Ok, ich habe mich entschieden, einfach htmlAttributes zu verwenden, da es viel einfacher ist ... aber ich werde deine Antwort akzeptieren, da es die nächste Antwort auf meine Frage zu sein scheint. – Soenhay