Control.FindControl 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
在当前的命名容器中搜索指定的服务器控件。
重载
FindControl(String) |
在当前的命名容器中搜索带指定 |
FindControl(String, Int32) |
使用指定的 |
FindControl(String)
在当前的命名容器中搜索带指定 id
参数的服务器控件。
public:
virtual System::Web::UI::Control ^ FindControl(System::String ^ id);
public virtual System.Web.UI.Control FindControl (string id);
abstract member FindControl : string -> System.Web.UI.Control
override this.FindControl : string -> System.Web.UI.Control
Public Overridable Function FindControl (id As String) As Control
参数
- id
- String
要查找的控件的标识符。
返回
指定的控件,如果指定的控件不存在则为 null
。
示例
以下示例定义 Button1_Click
事件处理程序。 调用时,此处理程序使用 FindControl 方法在包含页上查找 属性为 ID 的 TextBox2
控件。 如果找到控件,则使用 Parent 属性确定其父控件,并将父控件的 ID 写入页面。 如果未 TextBox2
找到 ,则会将“找不到控件”写入页面。
重要
此示例具有一个接受用户输入的文本框,这是一个潜在的安全威胁。 默认情况下,ASP.NET 网页验证用户输入是否不包含脚本或 HTML 元素。 有关详细信息,请参阅脚本侵入概述。
private void Button1_Click(object sender, EventArgs MyEventArgs)
{
// Find control on page.
Control myControl1 = FindControl("TextBox2");
if(myControl1!=null)
{
// Get control's parent.
Control myControl2 = myControl1.Parent;
Response.Write("Parent of the text box is : " + myControl2.ID);
}
else
{
Response.Write("Control not found");
}
}
Private Sub Button1_Click(sender As Object, MyEventArgs As EventArgs)
' Find control on page.
Dim myControl1 As Control = FindControl("TextBox2")
If (Not myControl1 Is Nothing)
' Get control's parent.
Dim myControl2 As Control = myControl1.Parent
Response.Write("Parent of the text box is : " & myControl2.ID)
Else
Response.Write("Control not found.....")
End If
End Sub
注解
使用 FindControl 从代码隐藏页中的函数访问控件,用于访问另一个容器中的控件,或者在调用方无法直接访问目标控件的其他情况下访问控件。 仅当控件直接包含在指定的容器中时,此方法才会找到控件;也就是说, 方法不会在控件内的控件层次结构中进行搜索。 有关如何在不知道控件直接容器时查找控件的信息,请参阅 如何:按 ID 访问服务器控件。
另请参阅
适用于
FindControl(String, Int32)
使用指定的 id
和 pathOffset
参数(该参数有助于搜索)中指定的整数在当前命名容器中搜索服务器控件。 不应重写此版本的 FindControl 方法。
protected:
virtual System::Web::UI::Control ^ FindControl(System::String ^ id, int pathOffset);
protected virtual System.Web.UI.Control FindControl (string id, int pathOffset);
abstract member FindControl : string * int -> System.Web.UI.Control
override this.FindControl : string * int -> System.Web.UI.Control
Protected Overridable Function FindControl (id As String, pathOffset As Integer) As Control
参数
- id
- String
要查找的控件的标识符。
- pathOffset
- Int32
页面控件层次结构上到达命名容器所需的控件的数量。
返回
指定的控件,如果指定的控件不存在则为 null
。