non riesco a generare dinamincamente un evento che sia associato a un controllo anch'esso generato a runtime.
Il priblema suppongo si anella gestione del postback e nel far generare l'evento stesso solo e se il controllo che lo scatena è staqto generato...
per chiarire vi posto un esempietto.praticamente al click di un bottone vengono creati nLinkButton ai quali voglio associare un evento click...vedrete che scompare il tutto se cliccate.
Se invece il codice dentro al click del bottone lo sposto nel page load allora funziona...
avete consigli?
eccovi il misero codice
*************************************************
public class WebForm1 : System.Web.UI.Page
{
protected System.Web.UI.WebControls.Label lbl_msg;
protected System.Web.UI.WebControls.Button Button1;
protected System.Web.UI.WebControls.Panel panel;
protected LinkButton lbt = new LinkButton();
private void Page_Load(object sender, System.EventArgs e)
{
}
private void title_order_click(object sender,CommandEventArgs e)
{
lbl_msg.Text="hai cliccato il linkbutton "+e.CommandName.ToString();
}
#region Codice generato da Progettazione Web Form
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: questa chiamata è richiesta da Progettazione Web Form ASP.NET.
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// Metodo necessario per il supporto della finestra di progettazione. Non modificare
/// il contenuto del metodo con l'editor di codice.
/// </summary>
private void InitializeComponent()
{
this.Button1.Click += new System.EventHandler(this.Button1_Click);
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
private void Button1_Click(object sender, System.EventArgs e)
{
Table tbl= new Table();
for (int i=0;i<11;i++)
{
TableRow row = new TableRow();
TableCell cell = new TableCell();
lbt = new LinkButton();
lbt.Text="linkbutton["+i.ToString()+"]";
lbt.CommandName="linkbutton["+i.ToString()+"]";
aggiungiEventoLB(lbt);
cell.Controls.Add(lbt);
row.Controls.Add(cell);
tbl.Controls.Add(row);
}
panel.Controls.Add(tbl);
}
private void aggiungiEventoLB(LinkButton lbt)
{
lbt.Command += new System.Web.UI.WebControls.CommandEventHandler(titl e_order_click);
}
}
**********************************************