2015-01-22 2 views
1

저는 RequiredFieldValidator에서 ValidatorCalloutExtender를 사용하고 있으며 기본 스타일을 '현대 UI'로 변경하기로 결정했습니다. Wonderful Post을 찾았습니다. 관련 CSS 필드를 모두 얻을 수있었습니다. 나는 스타일을 바꾸기 시작했고 그 결과에 매우 만족했습니다. IE, Chrome, FireFox에서 테스트를 해봤는데 완벽하게 작동했습니다. 그런 다음 프로덕션 서버에 설치하고 어떤 브라우저를 사용하던간에 CSS가 올바르게 렌더링되지 않는다는 사실을 알았습니다. 내가 아래에있는 내 CSS를 포함했다ValidatorCalloutExtender가 CSS를 제대로 렌더링하지 않습니다.

http://s14.postimg.org/gn5kjgovl/Rendered_Differently.png 예 이미지 (그냥 넣다 뭔가 잘못 했어).

/* AjaxControlToolkit Validator */ 
 
.validatorCalloutHighlight 
 
{ 
 
\t border:solid; 
 
\t border-color: #FFCC00; 
 
    /*background-color: lemonchiffon;*/ 
 
} 
 
.ajax__validatorcallout_popup_table 
 
{ 
 
\t /*position:absolute;*/ 
 
\t min-width: 350px; 
 
\t min-height: 40px; 
 
\t /*padding: 8px;*/ 
 
\t background: #FFCC00; 
 
\t -webkit-border-radius: 0px; 
 
\t -moz-border-radius: 0px; 
 
\t border-radius: 0px; 
 
\t margin-left:250px; 
 
\t margin-top:-20px; 
 
\t color:black; 
 
} 
 
.ajax__validatorcallout_popup_table:after 
 
{ 
 
\t content: ''; 
 
\t position:absolute; 
 
\t border-style: solid; 
 
\t border-width: 20px 20px 0 0; 
 
\t border-color: #FFCC00 transparent transparent transparent; 
 
\t display: block; 
 
\t width: 0; 
 
\t bottom: -20px; 
 
\t left: 0px; 
 
} 
 
/* The popup table row */ 
 
.ajax__validatorcallout_popup_table_row 
 
{ 
 

 
} 
 
/* The callout cell */ 
 
.ajax__validatorcallout_callout_cell 
 
{ 
 

 
} 
 
/* The table in the callout cell */ 
 
.ajax__validatorcallout_callout_table 
 
{ 
 

 
} 
 
/* The callout table row */ 
 
.ajax__validatorcallout_callout_table_row 
 
{ 
 

 
} 
 
/* The error message cell */ 
 
.ajax__validatorcallout_error_message_cell 
 
{ 
 

 
} 
 
/* The warning icon cell */ 
 
.validator_callout .ajax__validatorcallout_icon_cell 
 
{ 
 
\t padding:0px; 
 
} 
 
.validator_callout .ajax__validatorcallout_icon_cell img 
 
{ 
 
\t /* Remove the 'Warning' icon */ 
 
\t display: none; 
 
} 
 
/* The close button cell */ 
 
.ajax__validatorcallout_close_button_cell 
 
{ 
 

 
} 
 
/* The arrow cell */ 
 
.ajax__validatorcallout_arrow_cell 
 
{ 
 
\t display:none; 
 
} 
 
/* Inner div of a cell. Used in the close button */ 
 
.ajax__validatorcallout_innerdiv 
 
{ 
 

 
}

ASP 코드는 내가 심지어 한 사용자 정의 헤더와의 Web.config 변경으로까지 갔다

<asp:TextBox ID="txtUsername" runat="server" Width="300px"></asp:TextBox> 
 
            <asp:RequiredFieldValidator CssClass="validator_callout" ID="reqvalUsername" runat="server" ControlToValidate="txtUsername" Display="None" ErrorMessage="Enter a new login name" ValidationGroup="Submit">*</asp:RequiredFieldValidator> 
 
            <cc1:ValidatorCalloutExtender ID="reqvalUsername_ValidatorCalloutExtender" runat="server" CloseImageUrl="~/Images/Buttons/cancel_Validator.png" HighlightCssClass="validatorCalloutHighlight" TargetControlID="reqvalUsername" PopupPosition="TopRight" WarningIconImageUrl="~/Images/Status/clear.png"> 
 
            </cc1:ValidatorCalloutExtender>

이하 내 문제를 해결하지 마라. CSS renders differently on web server than on development environment

저는 새로운 스타일을 사용하고 싶습니다. 간과 한 것 같지만, 이것을 해결하는 방법에 대한 아이디어가 없습니다. 아무도이 좌절스러운 문제를 도와 줄 수 있습니까?

답변

1

CSS를 바꾸고, 내가 바꾼다면 아무런 변화가 없는지 알아 내려고했다. 그렇지 않았다. 내가 시도한 것은 기본 LemonChiffon 알림을 제거 할 수 있습니다 ... interwebz에서 숨겨진이 게시물을 찾을 때까지. http://amityug.org/wordpress/ziems/2014/12/19/how-to-re-position-the-asp-net-ajax-validatorcalloutextender/. 나는 누가 그 글을 쓴 것인지 모르지만 글을 쓰고 게시 할 시간을 내 주셔서 감사합니다!

특히, CSS는 ValidatorCalloutExtender에 적용된 기본 CSS를 완전히 무시합니다.

.CustomValidator {position:relative;margin-left:-80px;}  
.CustomValidator div {border:solid 1px Black;background-color:LemonChiffon; position:relative;}  
.CustomValidator td {border:solid 1px Black;background-color:LemonChiffon;}  
.CustomValidator .ajax__validatorcallout_popup_table {display:none;border:none;background-color:transparent;padding:0px;}  
.CustomValidator .ajax__validatorcallout_popup_table_row {vertical-align:top;height:100%;background-color:transparent;padding:0px;}  
.CustomValidator .ajax__validatorcallout_callout_cell {width:20px;height:100%;text-align:right;vertical-align:top;border:none;background-color:transparent;padding:0px;}  
.CustomValidator .ajax__validatorcallout_callout_table {height:100%;border:none;background-color:transparent;padding:0px;}  
.CustomValidator .ajax__validatorcallout_callout_table_row {background-color:transparent;padding:0px;}  
.CustomValidator .ajax__validatorcallout_callout_arrow_cell {padding:8px 0px 0px 0px;text-align:right;vertical-align:top;font-size:1px;border:none;background-color:transparent;}  
.CustomValidator .ajax__validatorcallout_callout_arrow_cell .ajax__validatorcallout_innerdiv {font-size:1px;position:relative;left:1px;border-bottom:none;border-right:none;border-left:none;width:15px;background-color:transparent;padding:0px;}  
.CustomValidator .ajax__validatorcallout_callout_arrow_cell .ajax__validatorcallout_innerdiv div {height:1px;overflow:hidden;border-top:none;border-bottom:none;border-right:none;padding:0px;margin-left:auto;}  
.CustomValidator .ajax__validatorcallout_error_message_cell {font-family:Verdana;font-size:10px;padding:5px;border-right:none;border-left:none;width:100%;}  
.CustomValidator .ajax__validatorcallout_icon_cell {width:20px;padding:5px;border-right:none;}  
.CustomValidator .ajax__validatorcallout_close_button_cell {vertical-align:top;padding:0px;text-align:right;border-left:none;}  
.CustomValidator .ajax__validatorcallout_close_button_cell .ajax__validatorcallout_innerdiv {border:none;text-align:center;width:10px;padding:2px;cursor:pointer;}  

내 검증 스타일 최종 결과는

/* AjaxControlToolkit Validator */ 
.validatorCalloutHighlight 
{ 
    border:solid; 
    border-color: #FFCC00; 
    /*background-color: lemonchiffon;*/ 
} 
.CustomValidator 
{ 
    position: absolute; 
    /*margin-left: -80px;*/ 
    /*left:-200px;*/ 
} 
.CustomValidator div 
{ 
    border: none; 
    background-color: #FFCC00; 
    position: relative; 
    color:black; 
} 
.CustomValidator td 
{ 
    border: none; 
    background-color: #FFCC00; 
    color:black; 
} 
.CustomValidator .ajax__validatorcallout_popup_table 
{ 
    display: none; 
    border: none; 
    background-color: transparent; 
    padding: 0px; 
} 
.CustomValidator .ajax__validatorcallout_popup_table_row 
{ 
    vertical-align: top; 
    height: 100%; 
    background-color: transparent; 
    padding: 0px; 
} 

.CustomValidator .ajax__validatorcallout_callout_cell 
{ 
    text-align: right; 
    vertical-align: top; 
    border: none; 
    background-color: transparent; 
    padding: 0px; 
} 

.CustomValidator .ajax__validatorcallout_callout_table 
{ 
    height: 100%; 
    border: none; 
    background-color: transparent; 
    padding: 0px; 
} 

.CustomValidator .ajax__validatorcallout_callout_table_row 
{ 
    background-color:transparent; 
    padding: 0px; 
} 

.CustomValidator .ajax__validatorcallout_callout_arrow_cell 
{ 
    padding: 8px 0px 0px 0px; 
    text-align: right; 
    vertical-align: top; 
    border: none; 
    background-color: transparent; 
} 

.CustomValidator .ajax__validatorcallout_callout_arrow_cell .ajax__validatorcallout_innerdiv 
{ 
    position: relative; 
    left: 1px; 
    border-bottom: none; 
    border-right: none; 
    border-left: none; 
    width: 15px; 
    background-color: transparent; 
    padding: 0px; 
} 

.CustomValidator .ajax__validatorcallout_callout_arrow_cell .ajax__validatorcallout_innerdiv div 
{ 
    height: 1px; 
    overflow: hidden; 
    border-top: none; 
    border-bottom: none; 
    border-right: none; 
    padding: 0px; 
    margin-left: auto; 
} 

.CustomValidator .ajax__validatorcallout_error_message_cell 
{ 
    min-width:200px; 
    max-width:275px; 
    min-height:40px; 
    padding: 10px 5px 10px 20px; 
    border-right: none; 
    border-left: none; 
    width: 100%; 
    font-size: medium; 
} 


.CustomValidator .ajax__validatorcallout_error_message_cell:after 
{ 
    content: ''; 
    position:absolute; 
    border-style: solid; 
    border-width: 0px 20px 20px 0px; 
    border-color: transparent #FFCC00 transparent transparent; 
    display: block; 
    width: 0; 
    top:0px; 
/* bottom:55px;*/ 
    left: -5px; 
} 

.CustomValidator .ajax__validatorcallout_icon_cell 
{ 
    width: 20px; 
    padding: 5px; 
    border-right: none; 
    display:none; 
} 

.CustomValidator .ajax__validatorcallout_close_button_cell 
{ 
    vertical-align: top; 
    padding-top: 7px; 
    padding-right:30px; 
    text-align: right; 
} 

.CustomValidator .ajax__validatorcallout_close_button_cell .ajax__validatorcallout_innerdiv 
{ 
    border: none; 
    text-align: center; 
    width: 10px; 
    padding: 2px; 
    cursor: pointer; 
} 
포함
관련 문제