为什么我的ASP登录标签中的第一个字符是斜体?

10

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

在这里输入图片描述

代码看起来像这样:

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

使用Firebug进行检查时,它显示第一个字符被包含在标签中,如下所示:

<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,则会将焦点聚焦到电子邮件文本框),但我无法找出如何停止这种情况。


你是否在使用某种页面模板?访问键通常默认为空白。 - mellamokb
你可以将第一个字母放在<em>标签中... - Steve B
你的项目中有任何控件适配器(*.browsers文件)或自定义jQuery插件吗? - Steve B
我没有使用模板,但是我使用了一些jQuery插件(cycle和jcarousel),但我确定它们不会对登录控件进行任何操作。 - ryanthescot
当您在设计器模式下看到您的Web表单时,起始字符仍然是斜体吗?另外,请尝试在登录控件中使用Asp.Net标签控件,而不是使用HTML标签。 - Waqar Janjua
显示剩余2条评论
3个回答

2

对于我来说,这是因为我正在使用CSS友好控制适配器。由于我主要安装它们的动机是为了菜单控件适配器,我已禁用了登录控件适配器。

  • Open the CSSFriendAdapters.browser in the App_Browsers folder.
  • Comment out the LoginAdapter, like so:

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

也许有一种方法可以在不使用斜体的情况下获得CSS适配器的优势。


1

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

代码行仍然如下:

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

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

enter image description here

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

enter image description here

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

虽然这并没有回答为什么单行代码会表现出这样的行为,但它展示了如何解决这个问题。


0

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接