10

我无法弄清楚为什么我的 asp 登录表单上所有标签的第一个字符都以斜体显示:

在此处输入图像描述

代码如下所示:

<asp:login DestinationPageUrl="blah.aspx" runat="server" usernamelabeltext="Email Address" ></asp:login>

当我使用萤火虫检查它时,它显示第一个字符被包含在标签,像这样:

<label for="ctl00_ctl00_ctl00_ContentPlaceHolderDefault_wwContentArea_ctl03_UserName">
<em>E</em>
mail Address
</label>
...
<label for="ctl00_ctl00_ctl00_ContentPlaceHolderDefault_wwContentArea_ctl03_Password">
<em>P</em>
assword:
</label>

有谁知道可能是什么原因造成的?我认为这可能与访问键有关(如果我按 alt+e 则它会聚焦到电子邮件文本框),但我不知道如何阻止它。

4

3 回答 3

2

对我来说,这是因为我使用的是CSS Friendly Control Adapters。由于我安装它们的主要动机是菜单控制适配器,因此我禁用了登录控制适配器。

  • 打开 App_Browsers 文件夹中的 CSSFriendAdapters.browser。
  • 注释掉 LoginAdapter,如下所示:

    <!--<adapter controlType="System.Web.UI.WebControls.Login" adapterType="CSSFriendly.LoginAdapter" />-->
    

可能有一种方法可以在没有斜体的情况下获得 CSS 适配器的优势。

于 2013-11-19T16:36:44.657 回答
1

我无法回答它为什么这样做,但我已经设法解决了它。

代码行仍然如下:

<asp:login DestinationPageUrl="/schools/what-works/whatworkssearch.aspx" runat="server" usernamelabeltext="Email Address"></asp:login>

这是控件在设计器视图中的样子:

在此处输入图像描述

虽然没有显示斜体,但正如我在问题中描述的那样,它是用斜体的第一个字符呈现的。为了解决这个问题,我将控件转换为模板,如下所示:

在此处输入图像描述

这创建了一个显示登录字段标签的模板,因此我可以删除斜体标签。

虽然这并不能解释为什么它对于单行代码的行为如此,但它显示了如何绕过它。

于 2012-07-12T15:59:25.100 回答
0

您可能需要检查登录控件的AccessKey属性以及粘贴在登录部分中的各个控件,例如标签、文本框和按钮。通过删除 AccessKey 值应该可以解决问题。

于 2012-07-11T16:23:19.547 回答