郁闷了很久,然后放弃了,突然洗澡的时候灵感来了,DataList控件直接FindControl子控件肯定是不行的,看到DataList有Items属性,于是联想到了是不是应该在DataList的Items下来FindControl,结果也失败了,最后查找MSDN帮助问的那个找了一会终于找到了,请看下面
ASP.NET
如何:在 ASP.NET 网页中按 ID 查找子控件
请参见 发送反馈意见
可以用一个方法来获取对特定控件的引用,该方法按控件 ID 搜索其命名容器。
按 ID 定位控件
调用命名容器的 FindControl 方法,向该方法传递包含要使用的控件的 ID 的字符串。该方法会返回一个类型为 Control 的对象,可以将该类型强制转换为适当的类型。
下面的代码示例演示如何定位特定的控件。该示例是 GridView 控件中某按钮的 Click 事件的处理程序。单击该按钮时,代码在当前的 GridView 项(它是 Label 控件的命名容器)中搜索名为 Label1 的控件。如果找到该控件,其文本便会显示在页面其他位置上第二个名为 LabelText 的 Label 控件中。
protected void GridView1_ItemCommand(object source, GridViewCommandEventArgs e)
{
Label l;
l = (Label) e.Item. FindControl("Label1");
if(!(l == null) ){
LabelText.Text = l.Text;
}
}
如何:在 ASP.NET 网页中按 ID 查找子控件
请参见 发送反馈意见
可以用一个方法来获取对特定控件的引用,该方法按控件 ID 搜索其命名容器。
按 ID 定位控件
调用命名容器的 FindControl 方法,向该方法传递包含要使用的控件的 ID 的字符串。该方法会返回一个类型为 Control 的对象,可以将该类型强制转换为适当的类型。
下面的代码示例演示如何定位特定的控件。该示例是 GridView 控件中某按钮的 Click 事件的处理程序。单击该按钮时,代码在当前的 GridView 项(它是 Label 控件的命名容器)中搜索名为 Label1 的控件。如果找到该控件,其文本便会显示在页面其他位置上第二个名为 LabelText 的 Label 控件中。
protected void GridView1_ItemCommand(object source, GridViewCommandEventArgs e)
{
Label l;
l = (Label) e.Item. FindControl("Label1");
if(!(l == null) ){
LabelText.Text = l.Text;
}
}