asp.net - C# Dynamic button not firing click event -


it reloads page empty when click button. how fire click event on button click? think page.ispostback reason reloads page empty instead of showing label.

protected void page_load(object sender, eventargs e)         {             if (page.ispostback == false)             {                 account account = new account();                 accountmanager accountmanager = new accountmanager();                 group group = new group();                 groupmanager groupmanager = new groupmanager();                 string emailaddress;                  emailaddress = httpcontext.current.user.identity.name;                 account = accountmanager.getaccinfobyemailaddress(emailaddress);                 group = groupmanager.getgroupleader(account.groupno);                  if (account.groupno == 0)                 {                     divmessage.innerhtml = "you not in group.";                 }                 else                 {                     try                     {                         button btn = new button();                         btn.text = "click";                         btn.click += new eventhandler(button_click);                         form1.controls.add(btn);                     }                     catch (exception)                     {                         divmessage.innerhtml = "unable retrieve data. please contact administrator if problem persists.";                     }                 }             }         } 

.

private void button_click(object sender, eventargs e)         {             label label1 = new label();             label1.text = "rthfg";             form1.controls.add(label1);         } 

when click button, or somehow else generate postback, asp.net creates page (as does) , tries find source of request, button clicked. in case button no longer on page, asp.net cannot find anything, end not fire event.

resolution seems easy enough in case - create button , put on page, regardless of postback:

if (!page.ispostback) { ... }  button btn = new button(); btn.text = "click"; btn.click += new eventhandler(button_click); form1.controls.add(btn); 

btw, why make button dynamic? dynamic controls harder manage.


Comments