我已经使用了这段代码,但它不起作用。
HtmlGenericControl T1 = (HtmlGenericControl)Page.FindControl("T1");
T1.Visible = false;
错误是:
Object reference not set to an instance of an object
将runat="server"
id 添加到 TD
<td runat="server" id="tdToSelect">
现在你可以设置
tdToSelect.visible = false;
如果这是在更新面板使用UpdatePanel.FindControl()
方法内
添加runat='server'
到您的td
. 否则,您将需要使用 Javascript。
你不能。
您可以做的是使用 ASP.NETTableRow
和TableCell
控件而不是 HTML<TR>
和<TD>
元素。然后,您可以从后面的 ASP.NET 代码访问您需要的控件。
在渲染时,这些控件当然会发出<TR>
和<TD>
元素,但是您将知道要在服务器端代码中使用的 ID,并且您的代码可以在服务器将生成的 HTML 发送到客户端之前修改控件。
您只能从 C# 代码中引用服务器端控件。即,您应该为您的控件设置一个属性 runat=server,然后您可以为其分配一个 id。这样,您将能够从您的 c# 代码访问它。
您应该知道 FindControl 函数不会进行递归搜索,但您可以添加runat="server"
到您的 TD 并设置为可见。