使非asp表在后台代码中不可见



我正在使用别人写的代码,这些代码我现在不能更改太多。

它在html中定义了一个表,类似于以下内容:

<table id="tblResult">
   some stuff defined in here.
</table>

我想使用behind代码使这个表及其所有内容不可见,但我注意到我不能在behind中直接将表寻址为tblResult.visible。这对我来说很有意义,因为这不是一个asp对象。简单地将其更改为asp:table是行不通的,因为表中有一些东西我不想乱来。是否可以寻址该表,并从后面的代码中将可见性设置为false?

将其包装成<asp:PlaceHolder> amd,然后切换占位符可见性。

runat='server'添加到标记中。您可以做的另一件事是将其包装在div、panel等的服务器端标签上,并将它们设置为visible='false'

<div id='myDiv' runat='server'>
 <table id="tblResult">
   //stuff
 </table>
</div>

然后在你的代码后面:

this.myDiv.Visible=False;

这将确保您的表不可见。同样,您可以使用div、面板(实际上只是div)、文字、占位符等。

您可以将其包装在Literal:中

<asp:Literal runat="server" ID="Literal1" Visible="False">
<table> ... </table>
</asp:Literal>