2012-02-08 48 views
0

我正在使用其他人寫的代碼,現在我無法改變太多。使非ASP表在隱藏代碼中不可見

它有這樣的HTML定義的表,事:

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

我想用後面的代碼,使該表及其所有內容看不見,但我發現我不能應對該表直接作爲tblResult.visible在代碼後面。這對我來說很有意義,因爲這不是一個asp對象。簡單地將它改爲asp:table是行不通的,因爲這個表裏面有一些東西我不喜歡。是否有可能解決該表並將後端代碼的可見性設置爲false?

回答

3

將它包裝成<asp:PlaceHolder> amd,然後切換佔位符可見性。

+0

添加runat = server屬性可以更改客戶端中生成的id屬性。 – 2012-02-08 20:16:19

1

runat='server'添加到標籤。你可以做的另一件事是它環繞格,面板等的服務器端代碼,並將其設置爲visible='false'東西到這種效果:

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

然後在你的後臺代碼:

this.myDiv.Visible=False;

這將確保您的表不可見。再次,您可以使用div的面板(實際上只是div),文字,佔位符等。

+0

插入一個div就會造成一個腳本/風格崩潰。我認爲在這種情況下最好的解決方案就是像我說的那樣使用佔位符。 – 2012-02-08 20:31:02

+0

不知道崩潰,我提到他可以使用各種標籤。關鍵是他需要訪問特定對象的代碼,所有這些都可以讓你。實際上最簡單的方法就是在他當前的表上添加runat ='server'。他甚至不需要使用美化的ASP.net表格或佔位符。 – JonH 2012-02-08 20:33:05

0

您可以在一個Literal包裝它:

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