2013-04-22 63 views
-1

我已經使用此代碼,但它不起作用。如何訪問asp.net c#的aspx.cs頁面中的td Id?

HtmlGenericControl T1 = (HtmlGenericControl)Page.FindControl("T1"); 
T1.Visible = false; 

錯誤是:

Object reference not set to an instance of an object 
+0

那麼控件是否存在於頁面上呢?它的ID是否爲'T1'?我的猜測是*可能不是*。 – Arran 2013-04-22 11:14:28

+2

請加上ASP代碼 – nmat 2013-04-22 11:14:38

+0

那麼相關標記在哪裏? – V4Vendetta 2013-04-22 11:15:01

回答

5

添加runat="server" id爲TD

<td runat="server" id="tdToSelect"> 

現在你可以設置

tdToSelect.visible = false; 

如果這裏面更新面板使用UpdatePanel.FindControl()方法

1

runat='server'添加到您的td。否則,你需要使用Javascript。

0

你不能。

可以做什麼,是使用ASP.NET的TableRowTableCell控制,而不是HTML的<TR><TD>元素。然後您可以從您的ASP.NET代碼後面訪問您需要的控件。

在渲染時,這些控件當然會發出<TR><TD>元素,但你會知道你的服務器端代碼使用的ID和服務器發送生成的HTML到客戶端之前,你的代碼可以修改控制。

0

您只能從C#代碼引用服務器端控件。即您應該將一個屬性設置爲您的控制runat = server,然後可以爲其分配一個id。這樣,您將可以從您的C#代碼訪問它。

0

您應該知道FindControl函數不會進行遞歸搜索,但您可以將runat="server"添加到您的TD並設置爲可見。

相關問題