C# 将活动超链接设为粗体和下划线asp.net

C# 将活动超链接设为粗体和下划线asp.net,c#,html,asp.net,css,C#,Html,Asp.net,Css,我正在一个asp.net页面上工作。我有两个超链接,我想让它们成为活动的(应用样式表,使粗体和下划线),但不知何故它没有这样做 以下是html: <li style="margin-left: 10px"> <asp:Literal ID="ltrlRegiosn" runat="server" Text="<%$ Resources: HRGELoggedOutMaster, Language %>"></asp:Literal>

我正在一个asp.net页面上工作。我有两个超链接,我想让它们成为活动的(应用样式表,使粗体和下划线),但不知何故它没有这样做

以下是html:

   <li style="margin-left: 10px">
      <asp:Literal ID="ltrlRegiosn" runat="server" Text="<%$ Resources: HRGELoggedOutMaster, Language %>"></asp:Literal>:
    </li>
    <li class="active1"> <asp:HyperLink ID="Lang1HyperLink" runat="server" /></li>
    <li><asp:HyperLink ID="Lang2HyperLink" runat="server" /></li>
使用此代码,它将带下划线,但不会加粗

以下是输出html:

<li class="active1"> <a id="ctl00_ctl00_languageSwitcher_Lang1HyperLink" href="/AllVacancies.aspx?lang=2">Рус</a></li>

<li class="active1"><a id="ctl00_ctl00_languageSwitcher_Lang2HyperLink" class="active1" href="/AllVacancies.aspx?lang=1" style="font-weight:bold;text-decoration:underline;">Eng</a></li>

  • 请建议如何修复它?

    无需使用代码隐藏设置样式属性。当您已经设置CssClass时。只需修改您的CSS:

    .active1
    {
        font-weight: bold;
        text-decoration:underline;
    }
    
    然后,您可以通过代码隐藏仅设置CssClass:

      if (Page.CurrentLanguage == 1)
                {
                    Lang2HyperLink.CssClass = "active1";
                    Lang2HyperLink.Font.Bold = true;
                    Lang2HyperLink.Font.Underline = true;              
                }
                else
                {
                    Lang1HyperLink.CssClass = "active1";
                    Lang1HyperLink.Font.Bold = true;
                    Lang1HyperLink.Font.Underline = true;               
                }
    
    if (Page.CurrentLanguage == 1)
    {
        Lang2HyperLink.CssClass = "active1";             
    }
    else
    {
        Lang1HyperLink.CssClass = "active1";          
    }
    
    还有一件事:我注意到您也在
  • 上设置了“Active1”类:

    <li class="active1">
    

  • 这似乎是一个打字错误,或者至少会让你感到困惑。我会删除它。

    没有必要使用代码隐藏设置样式属性。当您已经设置CssClass时。只需修改您的CSS:

    .active1
    {
        font-weight: bold;
        text-decoration:underline;
    }
    
    然后,您可以通过代码隐藏仅设置CssClass:

      if (Page.CurrentLanguage == 1)
                {
                    Lang2HyperLink.CssClass = "active1";
                    Lang2HyperLink.Font.Bold = true;
                    Lang2HyperLink.Font.Underline = true;              
                }
                else
                {
                    Lang1HyperLink.CssClass = "active1";
                    Lang1HyperLink.Font.Bold = true;
                    Lang1HyperLink.Font.Underline = true;               
                }
    
    if (Page.CurrentLanguage == 1)
    {
        Lang2HyperLink.CssClass = "active1";             
    }
    else
    {
        Lang1HyperLink.CssClass = "active1";          
    }
    
    还有一件事:我注意到您也在
  • 上设置了“Active1”类:

    <li class="active1">
    

  • 这似乎是一个打字错误,或者至少会让你感到困惑。我想删除它。

    我尝试了上面的代码,但只有下划线起作用,而且即使使用下划线,文本也不会变粗!重要提示。@DotnetSparrow您是否使用浏览器的开发工具/检查器查看是否有其他CSS规则覆盖您的
    文本装饰:下划线
    文字装饰:无?谢谢,在删除了隐藏的代码并仅使用css、删除了li类之后,它就工作了。@DotnetSparrow太棒了!我很高兴我能够帮助=)我尝试了上面的代码,但只有下划线起作用,文本甚至没有变粗!重要提示。@DotnetSparrow您是否使用浏览器的开发工具/检查器查看是否有其他CSS规则覆盖您的
    文本装饰:下划线
    文字装饰:无?谢谢,在删除了隐藏的代码并仅使用css、删除了li类之后,它就工作了。@DotnetSparrow太棒了!我很高兴我能帮上忙=)你在哪些浏览器上测试这个?我已将输出html部分的内容直接复制到新的html文件中。它似乎在IE8和Firefox中工作。第二个链接以粗体和下划线显示,而第一个链接仅以下划线显示,但不以粗体显示。您正在使用哪些web浏览器进行测试?我已将输出html部分的内容直接复制到新的html文件中。它似乎在IE8和Firefox中工作。第二个链接以粗体和下划线显示,而第一个链接仅以下划线显示,但不以粗体显示。