In ASP.NET MVC3 versuche ich, die CSS-Klasse, die die Validierungsfehler Helper-Methode setzt. (Nicht this question, die angenommene Antwort nur ADDS die Klasse, ich möchte es vollständig überschreiben.) Beim Betrachten der MVC3-Quelle habe ich die ValidationInputCssClassName
Eigenschaft auf der HtmlHelper-Klasse gefunden. Es ist einstellbar und speichert den Wert in einem Speicheranbieter, falls festgelegt. Die get-Methode für die Eigenschaft gibt [den Provider-Wert] ??
[der Standardklassenname] zurück.HtmlHelper-Klasse in System.Web.Webpages.Html vs System.Web.Mvc Namespaces
Jetzt, wenn Sie nur HtmlHelper.ValidationInputCssClassName
(MSDN entry) in Ihrem Controller-Code eingeben, werden Sie sehen, dass es ein statisches Readonly-Feld ist. Der Grund dafür ist, dass es zwei HtmlHelper-Klassen gibt, eine im Namespace System.Web.Mvc
und die andere im Namespace System.Web.Webpages.Html
. Die Eigenschaft System.Web.Webpages.Html.HtmlHelper.ValidationInputCssClassName
(MSDN entry) kann eingestellt werden, aber es scheint keinen Effekt auf den generierten Code zu haben, egal wo ich ihn eingerichtet habe.
Was fehlt mir? Und was ist der Unterschied zwischen diesen Klassen?
Ich benutze Razor. Die HtmlHelper-Eigenschaft im Web.WebPages-Namespace ist eindeutig dazu bestimmt, von etwas geändert zu werden. Roll-your-own ist ein letzter Ausweg, ich möchte keine Updates mit jeder MVC-Version portieren! – Paul
@Paul Ich spreche über WebForms mit Razor. Es ist nur eine Vermutung, aber so klingt es, als würde es verwendet werden. ASP.net WebForms Razor-Seiten. – Dismissile