asp.net - Set value to TextBox in UserControl inside placeholder -
i have textbox inside user control. created dinamically user control , load in placeholder.
but when tried assign value textbox, raised next below error:
object reference not set instance of object this user control:
<%@ control language="c#" autoeventwireup="true" codebehind="ivt_formclient.ascx.cs" inherits="evi.sc.web.evi.ivt.sublayouts.ivt_formclient" %> <asp:panel id="pnlcontainer" runat="server">             <asp:textbox id="txtclientnumber" runat="server"></asp:textbox> </asp:panel> the access modifier (in user control):
public string txtfirstname {     { return txtfirstname.text; }     set { txtfirstname.text = value; } } in web form have control reference:
<%@ reference control="~/evi/ivt/sublayouts/ivt_formclient.ascx"   %> in code behind of user control is:
    public partial class frm_verifyidentity : system.web.ui.page     {         ivt_formclient ivtformclient = new ivt_formclient();          protected void page_load(object sender, eventargs e)         {             if (!ispostback)             {             ivt_formclient ivtformclient = (ivt_formclient)loadcontrol("~/evi/ivt/sublayouts/ivt_formclient.ascx");                  client userclient = new client();                  userclient = load_clientverification(server.htmlencode(request.querystring["id"]).trim());                  if (userclient != null)                 {                     ivtformclient.txtfirstname = userclient.firstname;                     plhformclient.controls.add(ivtformclient);                 }              }         }  } the error occur line of code:
                ivtformclient.txtfirstname = userclient.firstname; 
do not create instance of usercontrol via constructor loadcontrol have done in page_load. however, doing if(!ispostback). hence control instantiated next postback via constructor. 
also, have recreate dynamic controls on every postback. suggest add usercontrol delaratively page. can hide/show accordingly. otherwise need create/add always, best in page_init instead of page_load.
so not best-practise(just add page) should work desired:
ivt_formclient ivtformclient = null;  protected void page_init(object sender, eventargs e) {     ivtformclient =(ivt_formclient)loadcontrol("~/evi/ivt/sublayouts/ivt_formclient.ascx");     client userclient = new client();     userclient = load_clientverification(server.htmlencode(request.querystring["id"]).trim());      if (userclient != null)     {         ivtformclient.txtfirstname = userclient.firstname;         plhformclient.controls.add(ivtformclient);     } } 
Comments
Post a Comment