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

Popular posts from this blog

design - Custom Styling Qt Quick Controls -

Unable to remove the www from url on https using .htaccess -