CSS问题在FireFox中无效

时间:2012-03-28 13:38:38

标签: c# css webforms

我有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中无效。

1 个答案:

答案 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;
}