i have modalpopup extender shown when user clicks 'add' button. can create dynamic textbox on popup.
my problem can't reference textbox in codebehind.
i have added 'textchanged' event handler textbox since needs autopostback = true (i think), modalpopup destroyed before event fires! , if reshow modalpopup dynamic field gone.
here asp modalpopup:
<asp:modalpopupextender id="paydetail_modalpopupextender" runat="server" popupcontrolid="paydetailpopuppanel" targetcontrolid="btnshowdetailpopup" cancelcontrolid="btnclosepaydetail" backgroundcssclass="modalbackground"> </asp:modalpopupextender> <asp:button id="btnshowdetailpopup" runat="server" style="display:none" /> <asp:panel id="paydetailpopuppanel" runat="server" cssclass="modalpaypopup" align="center" style = "display:none"> <asp:table id="addclaimdetailtable" runat="server" class="table" > <asp:tablerow style="display:none"> <asp:tablecell > <asp:label id="lblpayheaderid" runat="server" text="pay header id:"></asp:label> </asp:tablecell> <asp:tablecell > <asp:textbox id="txtpayheaderid" runat="server" enabled="false"></asp:textbox> </asp:tablecell> </asp:tablerow> </asp:table> </asp:panel>
i creating dynamic textbox in codebehind this:
//add dynamic fields tablerow trow = new tablerow(); //row tablecell hcell = new tablecell(); //header tablecell dcell = new tablecell(); //data label lblheader = new label(); lblheader.id = "lblmedicare"; lblheader.text = "medicare:"; textbox txtdata = new textbox(); txtdata.id = "txtmedicare"; txtdata.text = ""; txtdata.textchanged += new eventhandler(txtdata_textchanged); txtdata.autopostback = true; //and add list paydetaildynamiclist.add(txtdata); //myvalue = txtdata.id; hcell.controls.add(lblheader); dcell.controls.add(txtdata); trow.controls.add(hcell); trow.controls.add(dcell); addclaimdetailtable.controls.add(trow);
i storing textbox in static list:
static list<textbox> paydetaildynamiclist = new list<textbox>();
here codebehind eventhandler:
void txtdata_textchanged(object sender, eventargs e) { textbox t = sender textbox; if (t == null) throw new argumentexception("sender not textbox", "sender"); //add value list? string value = t.text; string id = t.id; }
my question is: how can eventhandler store user entered data? or how can reference dynamic textbox can retrieve value?
is there better way this? use form modalpopup? if knew jquery , ajax dynamic fields way don't...
any appreciated! let me know if need more details... thanks!
in case
textbox mytextbox = paydetail_modalpopupextender.findcontrol("txtmedicare") textbox;
here information control.findcontrol https://msdn.microsoft.com/en-us/library/486wc64h(v=vs.110).aspx