首页 > 解决方案 > ASP.NET FindControl 的文本框并获取值

问题描述

我动态添加了一个文本框,如下所示:

        TextBox tb = new TextBox();

        tb.ID = "Tb1;
        tb.Text = "Tb1";




        Panel1.Controls.Add(tb);

当我尝试检索该值时,它失败了,因为显然它找不到它并且它被分配了 null :

                TextBox tb = Page.FindControl("Tb1") as TextBox;
                Label1.Text = tb.Text; //this doesn't work because tb is apparently null 

标签: c#asp.net

解决方案


TextBox tb = Panel1.FindControl("Tb1") as TextBox;

FindControl 方法可用于访问其 ID 在设计时不可用的控件。该方法仅搜索页面的直接或顶级容器;它不会递归搜索页面中包含的命名容器中的控件。要访问从属命名容器中的控件,请调用该容器的 FindControl 方法。


推荐阅读