这真是令人沮丧,并搜索了十几个网站:
我有<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想到这一点。经过漫长的一天,比如今天我可以犯初学错误。
再次感谢你
亲切的问候
艾登
答案 0 :(得分:7)
您的class
属性应为小写(XHTML):
row.Attributes.Add("class", "rowA");
另外,请确保在您的表格中包含CSS文件。
答案 1 :(得分:5)
当行生成的html输出有类时,html文件中没有链接的css文件,或者你的类名中有拼写错误。
答案 2 :(得分:1)
您的代码背后没有任何问题。你的CSS错了。
表的水平布局不依赖于内容 细胞;它只取决于桌子的宽度,宽度 列,边框或单元格间距。
如果您希望行的宽度为80%,则应将表格宽度设置为80%。像这样:
<asp:table id="questionsTable" runat="server" class="myTable">
.rowA
{
text-align:center;
background-color:#FCF6CF;
}
.myTable{
width:80%;
}