如何从代码中添加样式?

Man*_*ish 19 css c# asp.net hyperlink

我想A:Hover从后面的代码向HyperLink控件添加一个样式.

我可以这样做:

HyperLink hlRow = new HyperLink();
hlRow.Style.Add("color", "#000000");
hlRow.Style.Add("text-decoration", "none");
Run Code Online (Sandbox Code Playgroud)

但是如何A:Hover为超链接控件添加样式?我是否需要定义一个类并将该类与此控件关联,如果是,如何?

Mos*_*azi 26

您可以使用超链接的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";
Run Code Online (Sandbox Code Playgroud)


小智 10

使用

HyperLink hlRow = new HyperLink();
hlRow.Attributes.Add("Style", "color:#000000");
Run Code Online (Sandbox Code Playgroud)


Meh*_*hin 5

试试这个:

Html标记

<asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl="#">HyperLink</asp:HyperLink>
Run Code Online (Sandbox Code Playgroud)

using System.Drawing;
using System.Web.UI;
using System.Web.UI.WebControls;

protected void Page_Load(object sender, EventArgs e)
{
    Style style = new Style();
    style.ForeColor = Color.Green;
    this.Page.Header.StyleSheet.CreateStyleRule(style, this, "#" + HyperLink1.ClientID + ":hover");
}
Run Code Online (Sandbox Code Playgroud)


Dav*_*und 3

:hover是选择器,而不是样式。您在示例中所做的是将内联样式添加到元素中,而与之等效的选择器显然没有多大意义。

您可以将一个类添加到您的链接:hlRow.CssClass = 'abc'; 并按如下方式定义您的类:

a.abc:hover {
    ...
}
Run Code Online (Sandbox Code Playgroud)