C# 如何从代码隐藏添加样式?
我想从代码隐藏向超链接控件添加样式C# 如何从代码隐藏添加样式?,c#,asp.net,css,hyperlink,C#,Asp.net,Css,Hyperlink,我想从代码隐藏向超链接控件添加样式a:Hover 我可以这样做: HyperLink hlRow = new HyperLink(); hlRow.Style.Add("color", "#000000"); hlRow.Style.Add("text-decoration", "none"); 但是如何为超链接控件添加A:Hover的样式? 是否需要定义一个类并将该类与此控件关联,如果需要,如何关联?:hover是一个选择器,而不是样式。您在示例中所做的是将内联样式添加到元素中,而使用等效选
a:Hover
我可以这样做:
HyperLink hlRow = new HyperLink();
hlRow.Style.Add("color", "#000000");
hlRow.Style.Add("text-decoration", "none");
但是如何为超链接控件添加A:Hover
的样式?
是否需要定义一个类并将该类与此控件关联,如果需要,如何关联?
:hover
是一个选择器,而不是样式。您在示例中所做的是将内联样式添加到元素中,而使用等效选择器显然没有多大意义
您可以向链接添加一个类:hlRow.CssClass='abc'代码>
并将您的类定义为:
a.abc:hover {
...
}
您可以使用超链接的CssClass属性:
LiteralControl ltr = new LiteralControl();
ltr.Text = "<style type=\"text/css\" rel=\"stylesheet\">" +
@".d
{
background-color:Red;
}
.d:hover
{
background-color:Yellow;
}
</style>
";
this.Page.Header.Controls.Add(ltr);
this.HyperLink1.CssClass = "d";
LiteralControl ltr=新的LiteralControl();
ltr.Text=“”+
@“.d
{
背景色:红色;
}
d:悬停
{
背景颜色:黄色;
}
";
this.Page.Header.Controls.Add(ltr);
this.HyperLink1.CssClass=“d”;
试试这个:
Html标记
<asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl="#">HyperLink</asp:HyperLink>
你不能
所以不要像那样直接应用样式,应用一个类“foo”,然后在CSS规范中定义它:
a.foo { color : orange; }
a.foo:hover { font-weight : bold; }
还要确保aspx页面有AutoEventWireup=“true”
而不是AutoEventWireup=“false”
使用
HyperLink hlRow = new HyperLink();
hlRow.Attributes.Add("Style", "color:#000000");
如果没有可供下载的文件,我需要禁用asp:linkButton,将其更改为灰色,并消除悬停处的下划线。这起到了作用:
.disabled {
color: grey;
text-decoration: none !important;
}
试试这个
lblMsg.Text = @"Your search result for <b style=""color:green;"">" + txtCode.Text.Trim() + "</b> ";
lblMsg.Text=@“您对“+txtCode.Text.Trim()+”的搜索结果”;
Hover是一个伪类,不是选择器;这是一个选择器:ul li a{…}
是的,选择器的一部分就是我想要表达的:仍然在某种意义上,试图将它添加到元素中没有意义,因为它只是用来查找匹配的元素。但是,是的,谢谢大家,我有一个后续问题,如果我在aspx代码中有一个菜单项,我想给他分配CSS类,该怎么办。如何访问此属性(它是webcontrol属性,并且在MenuItem控件中丢失)?我正在尝试做一件简单的事情,那就是为“选择”模式创建样式…这样用户就会知道哪个页面是当前活动页面。有什么办法可以做到吗?谢谢。顺便说一句,我有aspx页面,我可以直接在那里编写CSS类,而不是使用LiteralControl!:-)我很想投你一票,但由于一些疯狂的原因,我的投票限制达到了“今天”(这不是我的今天,而是美国的今天),所以我不能。因此,我将留下这个评论。也许当我的投票禁令解除后,我会记得这篇帖子,然后回来投票:)这是个绝妙的把戏。要使其更具动态性,请将其放在方法下,并将类名替换为令牌和用户字符串.Format以动态填充它。这与悬停无关。
LinkButton button = item.FindControl("lnkFileDownload") as LinkButton;
button.Enabled = false;
button.CssClass = "disabled";
lblMsg.Text = @"Your search result for <b style=""color:green;"">" + txtCode.Text.Trim() + "</b> ";