How to Access value of dynamically created control?
Posted
by
sharad
on Stack Overflow
See other posts from Stack Overflow
or by sharad
Published on 2012-04-10T10:53:47Z
Indexed on
2012/04/10
11:29 UTC
Read the original article
Hit count: 277
i have asp.net web application in which i need to create form dynamically depend upon table which user selected.however,i created form dynamically with it's control like text box,drop downlist etc. but not able to access those controls at particular button click event.
My form scenario is like this:
i have dropdownlist in which i display list of tables,button control say display
( on click event which i redirect page with some addition in querystring so that at page init it dynamically genrate controls
) and another button control which used to access this controls value say Submit
and store in database.
This is my code:
At Display button Click event:
Response.Redirect("dynamic_main.aspx?mode=edit&tablename=" + CMBTableList.SelectedItem.ToString());
This is code For page.Init level
if (Request.QueryString["mode"] != null)
{
if (Request.QueryString["mode"].ToString() == "edit")
{
Session["tablename"] = Request.QueryString["tablename"].ToString();
// if (Session["tablename"].ToString() == CMBTableList.SelectedItem.ToString())
//{
createcontrol(Session["tablename"].ToString());
// }
}
}
i have used createcontrol()
which genrate controls
Code For Submit Button:
string[] contid=controlid.Value.Split(',');
MasterPage ctl00 = FindControl("ctl00") as MasterPage;
ContentPlaceHolder cplacehld = ctl00.FindControl("ContentPlaceHolder2") as ContentPlaceHolder;
Panel panel1 = cplacehld.FindControl("plnall") as Panel;
Table tabl1 = panel1.FindControl("id1") as Table;
foreach (string sin in contid)
{
string splitcvalu = sin.Split('_')[0].ToString();
ControlsAccess contaccess = new ControlsAccess();
if (splitcvalu.ToString() == "txt")
{
TextBox txt = (TextBox)tabl1.FindControl(sin.ToString());
//TextBox txt = cplacehld.FindControl(sin.ToString()) as TextBox;
val = txt.ID;
}
else
{
DropDownList DDL = cplacehld.FindControl(sin.ToString()) as DropDownList;
}
}
Here i am no able to access this textbox or drop downlist.i am getting id of particular control from hidden field controlid
in which i have stored it during genrating controls. i have used findcontrol()
it works in case of finding masterpage,contentplaceholder,table etc. but in case of textbox or other control it doesnt work it shows it returns null
. Anyone can help me.
Thanks
© Stack Overflow or respective owner