如何复制/克隆webusercontrol(usercontrol)

时间:2019-02-08 08:46:07

标签: c# asp.net web user-controls

我在网上搜索以查找如何复制或以某种方式在asp.net中克隆用户控件,但是我找不到任何东西,因为也许没有人遇到这个问题,或者我很有才华来找到解决方案。 通过摆弄代码,我得到了解决方案。 假设您要为页面中的每个面板添加一个用户控件,请在页面上为每个面板搜索页面,然后添加该控件,但这仅是usercontrol1的一个实例,并且只能使用一次。 这是行不通的。

        UserControl uc = (WebUserControl1)LoadControl("WebUserControl1.ascx");
      foreach (Panel p in form1.Controls.OfType<Panel>())
       {
           p.Controls.Add(uc);

        }

如果您使用返回控件的函数,则该代码有效 因此,有效的代码如下所示,就像一个咒语,但我不知道它是否是最佳的。

UserControl uc = (WebUserControl1)LoadControl("WebUserControl1.ascx");
foreach (Panel p in form1.Controls.OfType<Panel>())
        {
            p.Controls.Add(returnuc());

        }
//this is the function that creates an instance each time 
private Control returnuc ()
    {

        UserControl uc = (WebUserControl1)LoadControl("WebUserControl1.ascx");
        return uc;
    }

gl,祝您编程愉快,希望对您有所帮助。

0 个答案:

没有答案