【发布时间】:2012-08-25 03:16:19
【问题描述】:
这真是令人沮丧,并且搜索了十几个网站:
我有一个<asp:table id="questionsTable" runat="server">,我动态地添加行和列。
我正在尝试将预定义的 Cssclass 添加到这些新创建的行和列,但无济于事。
行和列的设置代码:
TableRow row = new TableRow();
TableCell cell1 = new TableCell();
TableCell cell2 = new TableCell();
TableCell cell3 = new TableCell();
TableCell cell4 = new TableCell();
TableCell cell5 = new TableCell();
我知道我可以做到:
row.Style.Add("width", "80%");
row.Style.Add("text-align", "left");
cell1.Style.Add("width", "10px");
cell2.Style.Add("width", "auto");
cell3.Style.Add("width", "75px");
cell4.Style.Add("width", "75px");
cell5.Style.Add("width", "75px");
它可以工作...但是它使代码隐藏文件变得混乱。
所以我看到了这个:
row.Attributes.Add("Class", "rowA");
//CSS - in StyleSheet.css
.rowA
{
width:80%;
text-align:center;
background-color:#FCF6CF;
}
但它似乎对我不起作用......
但奇怪的是,如果我查看生成的标记源,我会得到这个
</tr><tr Class="rowA">
以上内容是从呈现的页面复制的 - 但尚未应用 Css...我知道 css 是正确的,因为如果我手动添加它,它会正确应用它。
编辑
非常感谢所有为此提供帮助的人。不幸的是,出了点问题,指向外部样式表的链接被删除了。感谢 Sven 想到这一点。经过今天这样漫长的一天,我可能会犯初学者的错误。
再次感谢您
亲切的问候
艾登
【问题讨论】:
-
你试过
row.CssClass="rowA"; -
当生成的html输出行有class时,则html文件中没有链接css文件,或者类名有错别字。
-
确定没有应用?也许它被另一个规则覆盖(例如在
td's)?据我所知,您提供的信息应该可以工作。您是否曾在任何浏览器中使用过 Firebug 或开发工具栏?您可以在这些工具中看到应用了哪些规则以及覆盖了哪些规则。 -
我同意@Jeroen,这对我来说似乎很好。 CSS 区分大小写,但 HTML 不区分大小写。什么意味着您的标记看起来不错。
-
您在页面顶部声明的 HTML 版本是什么?