Vincent Maverick Durano
Никогда не тестировался на этом, но вы могли бы попробовать что-то вроде этого:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
int occurence =1;
ViewState["Counter"] = occurence;
LoadUserControl();
}
}
protected void Button1_Click(object sender, EventArgs e)
{
if(ViewState["Counter"] != null){
int count = Convert.ToInt32(ViewState["Counter"]);
ViewState["Counter"] = count + 1;
LoadUserControl();
}
}
protected void LoadUserControl()
{
int count = Convert.ToInt32(ViewState["Counter"]);
if (count > 0)
{
for (int i = 0; i < count; i++)
{
WebUserControl uc = (WebUserControl)Page.LoadControl("WebUserControl.ascx");
webUC.ID = "webUC" + i.ToString();
//add the user control in the form
//note that you can also add them in a PlaceHolder or Panel control
form1.Controls.Add(uc);
}
}
}
Имейте в виду, что приведенный выше код является лишь кратким примером, поэтому будьте осторожны при использовании ViewState, чтобы избежать проблем с производительностью страницы. Кроме того, ViewState имеет ограничение по размеру, поэтому убедитесь, что вы не храните в нем огромное количество данных.
Я бы также предложил вам прочитать о создании динамических элементов управления и событиях цикла страниц.
НТН