Я искал в Интернете, чтобы найти, как скопировать или каким-либо образом клонировать usercontrol в 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 и получайте удовольствие от написания кода, надеюсь, это поможет.