using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class LoadUserConrtolDynamically : System.Web.UI.Page
{
public bool IsControlAdded
{
get
{
if (ViewState["IsControlAdded"] == null)
ViewState["IsControlAdded"] = false;
return (bool)ViewState["IsControlAdded"];
}
set
{
ViewState["IsControlAdded"] = value;
}
}
public List<String> LstTextBoxId
{
get
{
if (ViewState["LstTextBoxId"] == null)
ViewState["LstTextBoxId"] = new List<String>();
return (List<String>)ViewState["LstTextBoxId"];
}
set
{
ViewState["LstTextBoxId"] = value;
}
}
public List<String> LstAjaxTextBoxId
{
get
{
if (ViewState["LstAjaxTextBoxId"] == null)
ViewState["LstAjaxTextBoxId"] = new List<String>();
return (List<String>)ViewState["LstAjaxTextBoxId"];
}
set
{
ViewState["LstAjaxTextBoxId"] = value;
}
}
protected void Page_Load(object sender, EventArgs e)
{
if(IsControlAdded)
AddUserControl();
if (LstTextBoxId.Count > 0)
AddTextBoxes(pnlTextBox, LstTextBoxId);
if (LstAjaxTextBoxId.Count > 0)
AddTextBoxes(pnlAjaxTextbox, LstAjaxTextBoxId);
}
protected void btnSubmit_Click(object sender, EventArgs e)
{
}
protected void btnLoad_Click(object sender, EventArgs e)
{
if(!IsControlAdded)
AddUserControl();
}
private void AddUserControl()
{
UserControl ucTest = (UserControl)LoadControl("~/ucTestControl.ascx");
Page.Form.Controls.Add(ucTest);
IsControlAdded = true;
}
private void AddTextBoxes(Panel pnlTemp,List<String> lstTemp)
{
TextBox tempText;
for (int i = 0; i < lstTemp.Count; i++)
{
tempText = new TextBox();
tempText.ID = lstTemp[i];
pnlTemp.Controls.Add(tempText);
}
}
protected void btnAddTextBox_Click(object sender, EventArgs e)
{
TextBox tempText = new TextBox();
tempText.ID = LstTextBoxId.Count.ToString();
pnlTextBox.Controls.Add(tempText);
LstTextBoxId.Add(LstTextBoxId.Count.ToString());
}
protected void btnAddTextBoxAjax_Click(object sender, EventArgs e)
{
TextBox tempText = new TextBox();
tempText.ID = Guid.NewGuid().ToString();
pnlAjaxTextbox.Controls.Add(tempText);
LstAjaxTextBoxId.Add(tempText.ID);
}
}