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