asp.net以编程方式创建表和css优先级

时间:2013-02-25 12:03:04

标签: c# css asp.net hover css-tables

我有一个表格,我在我的代码后面以编程方式创建,并将备用行的颜色设置为灰色,以便更容易查看:

<New cells and rows created here>

tblResults.GridLines = GridLines.Both;
tblResults.BorderStyle = BorderStyle.Solid;
tblResults.HorizontalAlign = HorizontalAlign.Center;

if (rowNumber % 2 == 1)
{
    tblRow.BackColor = System.Drawing.Color.LightGray;
}
tblResults.Rows.Add(tblRow);

tblResults.CssClass = "myclass" ;
pnlContent.Controls.Add(tblResults);

我还想在用户将鼠标悬停在其上时突出显示行:

.myclass tr:hover
{
   background: #FCF;
}

现在,悬停似乎只适用于c#代码中未突出显示灰色的行,我认为这些行优先于css。

如何使这些灰色行与css悬停一起使用?

2 个答案:

答案 0 :(得分:1)

尝试这个希望它会有所帮助,我认为页面中的Style会覆盖你的浅灰色背景。试试这个,很容易找到解决方案

if (rowNumber % 2 == 1)
{
tblRow.Attributes.Add("Class","ClassName_grey");
}
else{
tblRow.Attributes.Add("Class","ClassName_nothing")
}

.myclass tr:hover
{
   background: #FCF;
}
.ClassName_grey {
background: #eeeeee; 
}

答案 1 :(得分:0)

您可以尝试

.myclass tr:hover
{
   background-color: #FCF;
}

或者添加!important限定符。前者基本上设置了与服务器端代码相同的样式,而你的代码设置了不太具体的背景(它的所有方面,而不仅仅是颜色)。

否则,请尝试查看源代码或使用开发人员工具查看需要覆盖的样式属性。