W środowisku ASP.NET MVC3 próbuję ustawić klasę css, którą ustawia metoda sprawdzania poprawności błędu. (Nie this question, zaakceptowana odpowiedź po prostu DODAJE klasę, chcę ją całkowicie przesłonić.) Patrząc na źródło MVC3, znalazłem właściwość ValidationInputCssClassName
w klasie HtmlHelper. Można go ustawić i przechowuje wartość w dostawcy pamięci, jeśli jest ustawiony. Metoda get dla właściwości zwraca [wartość dostawcy] ??
[domyślna nazwa klasy].Klasa HtmlHelper w przestrzeniach System.Web.Pages.Html vs System.Web.Mvc
Teraz po prostu wpisz HtmlHelper.ValidationInputCssClassName
(MSDN entry) w swoim kodzie kontrolnym, zobaczysz, że jest to statyczne pole tylko do odczytu. Powodem tego jest to, że istnieją dwie klasy HtmlHelper, jedna w przestrzeni nazw System.Web.Mvc
, a druga w przestrzeni nazw System.Web.Webpages.Html
. Właściwość System.Web.Webpages.Html.HtmlHelper.ValidationInputCssClassName
(MSDN entry) można ustawić, ale wydaje się, że nie ma ona żadnego wpływu na wygenerowany kod bez względu na to, gdzie go ustawię.
Czego mi brakuje? I jaka jest różnica między tymi klasami?
Używam maszynki Razor. Właściwość HtmlHelper w przestrzeni nazw Web.WebPages jest wyraźnie przeznaczona do modyfikowania przez coś. Roll-your-own to ostatnia deska ratunku, nie chcę przenosić aktualizacji z każdą wersją MVC! – Paul
@Paul Mówię o WebForms z maszynką Razor. To tylko domysły, ale tak to brzmi, jakby to miało być użyte. Witryny WWW ASP.net WebForms. – Dismissile