0

我在我的应用程序中使用了 ASP.Net 登录控件。在 Chrome、Firefox 和 IE 9 中,一切正常。但是我们仍然有使用 IE 7 的用户,而且对他们来说一切都不好;登录控件的“用户名”框不显示,所以他们只需要猜测从哪里开始输入他们的用户名(见屏幕截图)。

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