Как добавить стиль из кода?
Я хочу добавить стиль A:Hover
в элемент управления HyperLink из кода.
Я могу сделать вот так:
HyperLink hlRow = new HyperLink();
hlRow.Style.Add("color", "#000000");
hlRow.Style.Add("text-decoration", "none");
Но как я могу добавить стили для A:Hover
для управления гиперссылкой?
Нужно ли определять класс и ассоциировать этот класс с этим элементом управления, если да, то как?
Ответы
Ответ 1
:hover
- это селектор, а не стиль. То, что вы делаете в своем примере, - это добавление встроенных стилей в элемент, а эквивалент селектора для этого явно не имеет большого смысла.
Вы можете добавить класс к своей ссылке: hlRow.CssClass = 'abc';
И определите свой класс как таковой:
a.abc:hover {
...
}
Ответ 2
Вы можете использовать свойство 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";
Ответ 3
Используйте
HyperLink hlRow = new HyperLink();
hlRow.Attributes.Add("Style", "color:#000000");
Ответ 4
Попробуйте следующее:
Разметка HTML
<asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl="#">HyperLink</asp:HyperLink>
код
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");
}
Ответ 5
Также убедитесь, что на странице aspx есть AutoEventWireup="true"
, а не AutoEventWireup="false"
Ответ 6
Если файл не доступен для загрузки, мне нужно отключить asp: linkButton, изменить его на серый и устранить подчеркивание при наведении. Это сработало:
.disabled {
color: grey;
text-decoration: none !important;
}
LinkButton button = item.FindControl("lnkFileDownload") as LinkButton;
button.Enabled = false;
button.CssClass = "disabled";
Ответ 7
Вы не можете.
Поэтому просто не применяйте стили непосредственно так и применяйте класс "foo", а затем определяйте это в своей спецификации CSS:
a.foo { color : orange; }
a.foo:hover { font-weight : bold; }