2012-01-16 8 views
6

Mam problem, że podałem kolor RequiredFieldValidator na czerwono, ale kiedy publikuję stronę w sieci, kolor RequiredFieldValidator został zmieniony na czarny. działa dobrze w localhost. jaki może być problem? z góry dzięki ..Jak mogę sprawić, by kolor Valdatora był czerwony?

this is the image like what i want

+0

Pokaż nam swój znacznik/CSS – IrishChieftain

+0

Właśnie określiłem właściwość walidatorów ForeColor = red. ale nie działa – Rohan

+3

czy możesz spróbować użyć stylów css, daj klasę '.errorMsg {color: red;}' – Murtaza

Odpowiedz

3

Domyślnie walidator jest czerwona - nie ma potrzeby jej zmieniać. Sprawdź swoje css, aby upewnić się, że nic nie przejechało. Sprawdź również, czy jest ustawiony parametr requiredfieldvalidator i upewnij się, że nie zawiera on właściwości color.

+1

Żeby być bardziej zrozumiałym: Jak mówi Jason, domyślny kolor jest TYLKO czerwony przed .net 4.0. Jeśli nie chcesz zmieniać koloru KAŻDEGO pojedynczego walidatora w całej witrynie, będziesz musiał zaktualizować swój web.config tak, jak wspomina Syed. Prawdopodobnie warto zaktualizować konfigurację internetową dla wszystkich istniejących witryn, które zostały zaprojektowane <4.0, a następnie przeniesione do wersji 4.0+, chyba że przetestowano każdą stronę. – Bolo

14

Rohan,

To może być Twój problem. Miałem ten sam problem.

Domyślnie framework 4.0 powoduje, że wszystkie komunikaty o błędach walidatora są czarne. Będziesz musiał jawnie ustawić ForeColor wszystkich walidatorów na czerwony, jeśli celujesz w framework 4.0.

Twój wyjście źródło w 3,5:

<span id="ctl01_YourControl" style="color:Red;visibility:hidden;">*</span> 

Twój wyjście źródło w 4.0:

<span id="ctl01_YourControl" style="visibility:hidden;">*</span> 
+0

To jest dokładnie to, co mi się przydarzyło. Testowałem w .NET 2.0, ale produkcja działała w wersji 4.0. Dzięki za wskazówkę! – dandax

5

ASP.NET 4.0 ma zmian w wyjściowym kodzie czystsze, które obejmują:

xhtmlConformance jest ustaw na Strict. Menu są renderowane jako listy, a nie tabele Obce właściwości, takie jak border = 0, są usuwane z emitowanych znaczników. Nawet tekst błędu w kontrolach sprawdzania poprawności nie jest już ustawiony na czerwony. Renderowanie zewnętrznej tabeli dla szablonowych elementów sterujących można teraz kontrolować za pomocą właściwości newRenderOuterTable. Dla kompatybilności, można dokonać wyjście wyglądają tak samo jak to miało miejsce w ASP.NET 3.5 z controlRenderingCompatibilityVersion

> <?xml version="1.0"?> <configuration> <system.web> 
>  <compilation debug="false" targetFramework="4.0" /> 
>  <pages controlRenderingCompatibilityVersion="3.5" /> </system.web> </configuration> 

Więcej informacji dostępnych jest na http://msdn.microsoft.com/en-us/library/system.web.ui.control.renderingcompatibility.aspx.

Cieszę się, że to rozwiązałem. I jestem zaskoczony, że nie mogę znaleźć więcej osób publikujących o tym samym problemie. Wygląda na to, że opcje w moim przypadku będą korzystać z tego ustawienia zgodności lub ustawić kolor ForeC wszystkich moich kontroli sprawdzania poprawności na czerwony. (Prawdopodobnie to zrobię.)

+0

ustawienie controlRenderingCompatiblityVersion na 3.5 rozwiązało mój problem –

Powiązane problemy