当前位置:  开发笔记 > 后端 > 正文

控件不会出现在动态创建的用户控件上

如何解决《控件不会出现在动态创建的用户控件上》经验,为你挑选了1个好方法。

我有一个名为DateTimeUC的用户控件,它的标记上有两个文本框:



我在另一个用户控件中动态创建此控件:

Controls.Add(GenerateDateTime(parameter));
private DateTimeUC GenerateDateTime(SomeParameter parameter)
{
    DateTimeUC uc = new DateTimeUC();
    uc.ID = parameter.Name;
    return uc;
}

但是当我渲染页面时,DateTimeUC什么也没渲染.我这样检查过:

protected override void Render(HtmlTextWriter writer)
{
    base.Render(writer);

    StringBuilder builder = new StringBuilder();
    StringWriter swriter = new StringWriter(builder);
    HtmlTextWriter hwriter = new HtmlTextWriter(swriter);
    base.Render(hwriter);
    string s = builder.ToString();
}

s为空,Controls.Count为0.我做错了什么?



1> TcKs..:

您必须使用该LoadControl( "your_user_control_app_relative_path.ascx" )方法而不是"DateTimeUC uc = new DateTimeUC();"

推荐阅读
爱唱歌的郭少文_
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有