我有Repeater Control,我有这样的代码
<div runat="server" id="divleft" onmouseover="this.style.background='#BADFCE';" onmouseout="this.style.background='white';">
<asp:LinkButton ID="lnkCategory" runat="server" Text='<%# Eval("CategoryDescription")%>'
CommandArgument='<%# Eval("CourseLibraryCategoryID") %>'
OnClick="lnkCategory_Click"
CssClass="courseLink">
</asp:LinkButton>
<asp:Label ID="lblCount" runat="server" Text=""></asp:Label>
</div>
现在我必须在Click
LinkButton
之后执行此操作,必须在.aspx.cs页面中为此i代码应用div名称'divleft'的背景颜色。 ....
protected void lnkCategory_Click(object sender, EventArgs e)
{
LinkButton temp = (sender as LinkButton);
temp.Attributes.Add("style", "color:green !important;");
(temp.NamingContainer.Controls[1] as System.Web.UI.HtmlControls.HtmlContainerControl).Attributes.Add("style", "background-color:#BADFCE !important;");
}
现在这段代码完全在IE和Chrome中运行,但在Firefox中无效。
答案 0 :(得分:0)
除非您的核心CSS出现问题,否则您不需要使用!important。如果我是你,我会将UI移动到JavaScript层。
jQuery的:
jQuery('.courseLink').click( function(event) {
event.preventDefault();
jQuery('#divleft').css('background-color','#BADFCE');
jQuery(this).css('color','green');
} );
或者更好但是,这样的事情:
jQuery('.courseLink').click( function(event) {
event.preventDefault();
jQuery('#divleft').addClass('active');
jQuery(this).addClass('clicked');
} );
用(css):
#divleft.active {
background-color:#BADFCE;
}
.courseLink.clicked {
color:green;
}