aggiungi un evento onclick di un creato dinamicamente linkbutton

Quello che sto cercando di realizzare è quello di impostare il mio creati dinamicamente linkbutton con un comando onClick così, quando fare clic su di esso per l’esecuzione di un metodo nel codice dietro. Questo è il mio codice:

protected void Page_Init(object sender, EventArgs e)
{
    LoadLeftSide();
}

private void LoadLeftSide()
{
    string filepath = Server.MapPath("DataSource.xml");
    List<Post> list = PostHelper.GetAllPosts(filepath);
    HtmlTable table = FindControl("tbl") as HtmlTable;

    HtmlTableRow hearderrow = new HtmlTableRow();
    HtmlTableCell heardercell = new HtmlTableCell();     

    heardercell.InnerText = "Posts:";       
    hearderrow.Cells.Add(heardercell);
    table.Rows.Add(hearderrow);

    foreach (Post p in list)
    {
        HtmlTableRow row = new HtmlTableRow();
        HtmlTableCell cell1 = new HtmlTableCell();

        LinkButton lnkPost = new LinkButton();
        lnkPost.ID =string.Format("{0}" ,Guid.NewGuid());
        lnkPost.Attributes.Add("runat", "server");
        lnkPost.Text = p.Title;
       //lnkPost.CommandName = p.Id.ToString();
       //lnkPost.CommandArgument = p.Id.ToString();
        //lnkPost.Command += new CommandEventHandler(this.onLinkClick);
        lnkPost.Click += new EventHandler(this.onLinkClick);   

        cell1.Controls.Add(lnkPost);            
        row.Cells.Add(cell1);
        table.Rows.Add(row);

    }
    table.DataBind();

}

protected void onLinkClick(object sender, EventArgs e)
{
    string filepath = Server.MapPath("DataSource.xml");
    int id = 1;
    Post post=PostHelper.GetPostById(id, filepath);
    lblDescription.Text = post.Description;
}
non avete davvero bisogno di mettere “asp.net” nel titolo della tua domanda, visto che hai avuto il tag.
E …. Qual è la domanda ?
Vorrei sapere come fare per aggiungere un evento onclick per coloro linkbuttons e come gli eventi che vorresti avere sparato su pageInit evento.Si prega di aiutare

OriginaleL’autore alina | 2011-02-01

2 Replies
  1. 1

    Creare tutti i collegamenti dinamici in Page_PreInit gestore e ricreato la stessa gerarchia in ogni pagina di post indietro. Quindi ASP.NET sarà in grado di elaborare OnClick caso di collegamento dinamico.

    E non hai bisogno di questo

    lnkPost.Attributes.Add("runat", "server");

    Forse ASP.NET Menu di Controllo sarà più adatto? Esso supporta l’associazione da XML XPath

    OriginaleL’autore Chingiz Musayev

  2. -1

    Questo esempio aggiunge un pulsante e imposta il cliccato funzione di “rimuovere” che rimuove il nuovo pulsante quando viene cliccato…

    vedere: Associare un clic di un pulsante dinamico con jQuery?

    function addNewButton() {
      $("sweet_selector_here").append("<input type='button' id='sweetness' value='press me, i am awesome' />");
      $("#sweetness").click(function() {
        $(this).remove();
      });
    }

    OriginaleL’autore John K.

Lascia un commento