c# - 如何在 asp.net 页面中添加动态数量的用户控件?

标签 c# asp.net

问题是:

我有一个(几乎)空的 aspx 页面,我想在此页面中插入一定数量的相同用户控件。

事实上,我不知道我需要多少。

我试图从 CodeBehind 添加它们,但 UserControls 似乎完全是空的。

在主页面中(MainDiv 是一个带有 runat="server"的 div):

protected void Page_Init(object sender, EventArgs e)
{
    WebUserControl1 uc = new WebUserControl1();
    WebUserControl1 uc1 = new WebUserControl1();
    MainDiv.Controls.Add(uc);
    MainDiv.Controls.Add(uc1);
}

(如果我将此代码放在 Page_Init、Page_Load 或 Page_PreRender 上则不起作用)

UserControl(gw是一个包含在UserControl中的Gridview):

protected void Page_PreRender(object sender, EventArgs e)
{
    if (_data != null)
    {
        gw.DataSource = _data;
        gw.DataBind();
    }
}

当我到达那里时,gw 为空(this.Controls.Count 为 0)。

我该如何解决这个问题?

最佳答案

这就是 repeater control 的内容是为了。

关于c# - 如何在 asp.net 页面中添加动态数量的用户控件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2333429/

相关文章:

c# - 在列表框中不选择任何内容时出错

c# - 如何实现网站私信?

c# - 无法将类型为 'System.Web.UI.WebControls.GridView' 的对象转换为类型 'System.Web.UI.WebControls.LinkButton'

c# - 如何在 session 中检索单列的多个值

asp.net - 当前的配置系统不支持用户范围的设置

c# - BackgroundWorker 在 DoWork 之前完成

c# - 两个应用程序同时使用两个文本文件共享数据

c# - 如何使 PictureBox 可滚动

C# - 查找可用线程

c# - 为什么 Visual Studio 有时不转到我的断点?