c# - 为什么我动态添加的用户控件显示其 ascx 控件为空?

标签 c# asp.net webforms

我创建了一个新控件 TestControl。前端我给了

<asp:Label ID="lblTest" runat="server" />

在后端:

public partial class TestControl : System.Web.UI.UserControl
{
    protected void Page_Load(object sender, EventArgs e)
    {
        lblTest.Text = "blah";
    }
}

当我通过以下方式加载控件时:

        var control1 = LoadControl(typeof(TestControl), null);
        Controls.Add(control1);

我得到一个异常,lblTest 为空。

为什么会这样?

最佳答案

如此处所述,请改用 LoadControl 方法的相对路径重载。

http://msdn.microsoft.com/en-us/library/ewtd66a0.aspx

编辑:研究后更改了答案。

关于c# - 为什么我动态添加的用户控件显示其 ascx 控件为空?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9605817/

相关文章:

javascript - 为什么我不能使用 jquery 显示/隐藏 Html TR?

asp.net-mvc - 电子商务网站是ASP.NET Webforms还是ASP.NET MVC?

c# - DataGrid -- AlternatingRowBackground 颜色干扰 "IsMouseOver"颜色

c# - 您需要在析构函数中删除事件处理程序吗?

c# - 传入对象作为输出参数

php - 在同一域下混合使用 PHP 和 ASP.NET

css - Winnovative pdf 转换器设计问题?

c# - 增加一个 int++ 不会超过 1

c# - ASP.NET UserControl 继承 - 从基类获取派生类控件

c# - 具有 IEnumerable 数据类型的下拉列表