Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/31.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何从代码隐藏添加样式?_C#_Asp.net_Css_Hyperlink - Fatal编程技术网

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> ";