0

アプリケーションで ASP.Net ログイン コントロールを使用しています。Chrome、Firefox、および IE 9 では、すべて問題なく動作します。しかし、まだ IE 7 を使用しているユーザーがいますが、すべてがうまくいっているわけではありません。Login コントロールの "UserName" ボックスは表示されないため、ユーザー名の入力を開始する場所を推測する必要があります (スクリーン キャップを参照)。

IE 7 で壊れたログイン コントロール

コントロールをテンプレートに変換し、パディングなどで遊んでみました。コントロールは、次のようにネストされたテーブルとしてレンダリングされます。

<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>

誰にもアイデアはありますか?

更新: ie7-js をミックスに追加しても、まったく違いはありませんでした。だから私はそれを削除してCssClass="round"から、ユーザー名とパスワードのテキストボックスから削除しようとしました。それが犯人でした。何が問題の原因なのかはわかりませんjquery.cornerが、ログイン ページの角が直角になり、アプリケーションの残りの部分の角が丸くなることを意味します。それで問題ありません。

4

1 に答える 1

0

私はここで手足を出して、これは CSS の問題だと言っています。

あなたはCssClass呼び出されたものを参照していますround- 理想的には、最初にそれを見る必要があります。

私はあなたも持っていると思いますが.round:focus {}?現在フォーカスされているテキストボックスのスタイルを設定します。もしそうなら、これはIE 8未満ではサポートされておらず、ファンキーな動作をする可能性があります...

このような場合は、ie7-jsを調べて不足しているサポートを取得してください。

于 2013-05-24T20:39:54.373 に答える