-1

我已经使用了这段代码,但它不起作用。

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

错误是:

Object reference not set to an instance of an object
4

5 回答 5

5

runat="server"id 添加到 TD

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

现在你可以设置

tdToSelect.visible = false;

如果这是在更新面板使用UpdatePanel.FindControl()方法内

于 2013-04-22T11:22:34.273 回答
1

添加runat='server'到您的td. 否则,您将需要使用 Javascript。

于 2013-04-22T11:22:52.760 回答
0

你不能。

可以做的是使用 ASP.NETTableRowTableCell控件而不是 HTML<TR><TD>元素。然后,您可以从后面的 ASP.NET 代码访问您需要的控件。

在渲染时,这些控件当然会发出<TR><TD>元素,但是您将知道要在服务器端代码中使用的 ID,并且您的代码可以在服务器将生成的 HTML 发送到客户端之前修改控件。

于 2013-04-22T11:23:21.263 回答
0

您只能从 C# 代码中引用服务器端控件。即,您应该为您的控件设置一个属性 runat=server,然后您可以为其分配一个 id。这样,您将能够从您的 c# 代码访问它。

于 2013-04-22T11:23:25.413 回答
0

您应该知道 FindControl 函数不会进行递归搜索,但您可以添加runat="server"到您的 TD 并设置为可见。

于 2013-04-22T11:31:10.080 回答