table使用runat=server后CSS丢失的问题
一个table,列有CSS,本来是好的。
使用了runat="server"运行后,CSS就不行了,查看源文件发现<col class="col1" />这整段都没有了,这是怎么回事?
<table id="table1" class="tablestyle" runat="server" visible="false">
<col class="col1" />
<col class="col2" />
<col class="col1" />
<col class="col2" />
<col class="col1" />
<col class="col2" />
<tr>
<td>
</td>
<td>
</td>
<td>
</td>
<td>
</td>
<td>
</td>
<td>
</td>
</tr>
</table>
[最优解释]
MSDN的原话就是
From MSDN "A complex table model is not supported. You cannot have an HtmlTable control with nested caption, col, colgroup, tbody, thead, or tfoot elements."
[其他解释]
那就不要给table加runat
如果想要隐藏等可以在外面再加panel
[其他解释]
你最好看下页面的源文件,服务器控件生成页面的时候ID会生成成别的。
[其他解释]
按我的经验,服务器控件只能用用repeat和简单的一些控件
其他见鬼的东西,微软都会重写id的,很麻烦
------其他解决方案--------------------
加入了Ruant=server之后页面就会把他当做服务器控件来进行Render,自然就有了自己的规则.然后就会有东西不见了
[其他解释]
runat="server" 跟样式没关系吧,要不就是你后台改样式了,要不就是覆盖了之类的吧。。
[其他解释]
有关系的,微软的RenderControl机制会乱来的。
比如lz的Table加了Runat,最后呈现出来的结果是
<div>
<table class="tablestyle" id="table1">
<tbody><tr>
<td>
</td>
<td>
</td>
<td>
</td>
<td>
</td>
<td>
</td>
<td>
</td>
</tr>
</tbody></table>
</div>
如果没有加,则是
<table class="tablestyle" id="table1">
<colgroup><col class="col1">
<col class="col2">
<col class="col1">
<col class="col2">
<col class="col1">
<col class="col2">
</colgroup><tbody><tr>
<td>
</td>
<td>
</td>
<td>
</td>
<td>
</td>
<td>
</td>
<td>
</td>
</tr>
</tbody></table>