2013-05-24 5 views
0

내 응용 프로그램에서 ASP.Net 로그인 컨트롤을 사용하고 있습니다. Chrome, Firefox 및 IE 9에서는 모든 것이 정상적으로 작동합니다. 그러나 우리는 여전히 IE 7에 사용자가 있으며, 모든 것이 그들에게는 좋지 않습니다. 로그인 컨트롤의 "UserName"상자가 표시되지 않으므로 사용자 이름을 입력 할 위치를 추측해야합니다 (화면 캡 참조).Internet Explorer 7에서 ASP.Net 로그인 컨트롤을 올바르게 렌더링하려면 어떻게합니까?

<asp:Login ID="UserLogin" runat="server" OnLoggedIn="UserLogin_LoggedIn" 
    DisplayRememberMe="false" UserNameLabelText="Username"> 
    <TextBoxStyle CssClass="round" /> 
    <TitleTextStyle Font-Bold="True" Font-Size="Large" /> 
    <LabelStyle Font-Bold="True" /> 
    <LayoutTemplate> 
    <table cellpadding="1" cellspacing="0" style="border-collapse:collapse;"> 
     <tr> 
     <td> 
      <table cellpadding="5"> 
      <tr> 
       <td align="center" colspan="2" style="font-size:Large;font- 
       weight:bold;">Log In</td> 
      </tr> 
      <tr> 
       <td align="right" style="font-weight:bold;"> 
       <asp:Label ID="UserNameLabel" runat="server" 
        AssociatedControlID="UserName">Username:</asp:Label> 
       </td> 
       <td> 
       <asp:TextBox ID="UserName" runat="server" CssClass="round" Width="100"> 
       </asp:TextBox> 
       <asp:RequiredFieldValidator ID="UserNameRequired" runat="server" 
        ControlToValidate="UserName" ErrorMessage="User Name is required." 
        ToolTip="User Name is required." ValidationGroup="UserLogin">* 
       </asp:RequiredFieldValidator> 
       </td> 
      </tr> 
      <tr> 
       <td align="right" style="font-weight:bold;"> 
       <asp:Label ID="PasswordLabel" runat="server" 
        AssociatedControlID="Password">Password:</asp:Label> 
       </td> 
       <td> 
       <asp:TextBox ID="Password" runat="server" CssClass="round" 
        TextMode="Password" Width="100"></asp:TextBox> 
       <asp:RequiredFieldValidator ID="PasswordRequired" runat="server" 
        ControlToValidate="Password" ErrorMessage="Password is required." 
        ToolTip="Password is required." ValidationGroup="UserLogin">* 
       </asp:RequiredFieldValidator> 
       </td> 
      </tr> 
      <tr> 
       <td align="center" colspan="2" style="color:Red;font-weight:bold;"> 
       <asp:Literal ID="FailureText" runat="server" EnableViewState="False"> 
       </asp:Literal> 
       </td> 
      </tr> 
      <tr> 
       <td align="right" colspan="2"> 
       <asp:Button ID="LoginButton" runat="server" CommandName="Login" 
        Text="Log In" ValidationGroup="UserLogin" /> 
       </td> 
      </tr> 
      </table> 
     </td> 
     </tr> 
    </table> 
    </LayoutTemplate> 
    <FailureTextStyle Font-Bold="True" /> 
</asp:Login> 

사람이 어떤이 있습니까 :

Login control broken in IE 7

는 이미 제어가 중첩 된 테이블로,과 같이 렌더링 등, 템플릿에 컨트롤을 변환 패딩을 가지고 노는 시도했습니다 아이디어?

업데이트 : ie7-js를 믹스에 추가하면 아무런 효과가 없습니다. 그래서 그것을 제거한 다음 Username and Password 텍스트 상자에서 CssClass="round"을 제거하려고했습니다. 그건 범인 이었어. 나는 jquery.corner에서 무엇이 문제를 일으키는 지 모르지만 내 로그인 페이지는 사각형 모서리를 가지며 응용 프로그램의 나머지 부분은 둥근 모서리를 갖습니다. - 그걸로 살 수 있습니다.

답변

0

저는 여기 사지에서 CSS 문제라고 말합니다.

CssClassround이라고합니다. 이상적으로 먼저 확인해야합니다.

나는 .round:focus {}도 갖고 있다고 생각 하나? 현재 포커스 된 텍스트 상자의 스타일을 지정합니다. 그렇다면 I.E 8 미만에서는 지원되지 않으므로 펑키 한 동작이 가능할 것입니다 ...

이 경우 누락 된 지원을 얻으려면 ie7-js을 확인하십시오.

+0

CSS 클래스 "round"는 비어 있습니다 (즉, .css 파일에는 아무 것도 없습니다). 모든 텍스트 상자의 모서리를 둥글게 만드는 작은 jQuery 확장을 적용하는 데 사용하는 명명 클래스입니다. ie7-js를 확인해야합니다. – timbck2

+0

렌더링 된 HTML을 먼저 확인하십시오. 스타일이 적용될 가능성이 있습니다. 이것은 확실히 다른 CSS보다 더 많은 CSS 문제로 보입니다. – Darren

+0

렌더링 된 HTML을 보았습니다. 적용되는 유일한 CSS는'round' 클래스입니다. 앞에서 말했듯이 이것은 텍스트 상자의 둥근 모서리에'jquery.corner'를 적용하는 데 사용하는 명명 클래스입니다. 나는 ie7-js를 아직 보지 않고있다. 그것이 나의 다음 과제이다. – timbck2