我正在处理一个 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>
样式表是:
<style>
.active1{
font-weight: bold;
}
</style>
下面是我尝试使用隐藏代码的方式:
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;
}
有了这段代码,它变成了下划线但不是粗体。
这是输出 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";
}
else
{
Lang1HyperLink.CssClass = "active1";
}
还有一件事:我注意到您在 <li>
上设置了“Active1”类还有:
<li class="active1">
这似乎是一个打字错误,或者至少会让您感到困惑。我会删除它。
关于c# - 使事件超链接加粗并下划线 asp.net,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22613704/