2017-07-21 3 views
0

Je génère une table dynamique (testtable) et simultanément je génère LinkButton dans la dernière colonne de chaque ligne qui ne se déclenche pas quand je clique dessus. all("Users") renvoie DataTable. S'il vous plaît aidez.LInkButton ne déclenche pas l'événement

Markup

<asp:UpdatePanel ID="MainUpdatePanel" runat="server" Visible="false"> 

    <ContentTemplate> 

     <asp:Table ID="testTable" runat="server" /> 

    </ContentTemplate> 

</asp:UpdatePanel> 

code

protected override void OnInit(EventArgs e) 
    { 
     base.OnInit(e); 

     TableHeaderRow tHeaderRow = new TableHeaderRow(); 
     tHeaderRow.TableSection = TableRowSection.TableHeader; 
     testTable.Rows.Add(tHeaderRow); 

     foreach (DataColumn column in all("Users").Columns) 
     { 
      TableHeaderCell tHeaderCell = new TableHeaderCell(); 
      tHeaderCell.Text = column.ColumnName; 
      tHeaderRow.Cells.Add(tHeaderCell); 
     } 

     TableHeaderCell tShowHeaderCell = new TableHeaderCell(); 
     tHeaderRow.Cells.Add(tShowHeaderCell); 

     string id = ""; 
     int i = 0; 


     foreach (DataRow row in all("Users").Rows) 
     { 


      TableRow tRow = new TableRow(); 
      tRow.TableSection = TableRowSection.TableBody; 

      testTable.Rows.Add(tRow); 

      foreach (DataColumn column in all("Users").Columns) 
      { 
       TableCell tCell = new TableCell(); 
       tCell.Text = row[column.ColumnName].ToString(); 
       tRow.Cells.Add(tCell); 

       if (column.ColumnName == "id") 
        id = row[column.ColumnName].ToString(); 
      } 

      LinkButton showlink = new LinkButton(); 
      showlink.Text = "<i class='icon-file'></i>"; 
      showlink.ID = "linkShow" + "_" + i.ToString(); 
      showlink.CssClass = "tip-top"; 
      showlink.CommandArgument = id; 


      TableCell tShowCell = new TableCell(); 
      tRow.Cells.Add(tShowCell); 
      tShowCell.Controls.Add(showlink); 
      showlink.Click += new EventHandler(Show); 
      i++; 
     } 

    } 

protected void Show(object sender, EventArgs e) 
{ 
    // Do stuff 
} 
+0

Parce que vous avez utilisé le panneau de mise à jour, c'est pourquoi il ne reviendra pas sur la page. Vous devez publier la page avec force. ou Vous devriez supprimer le panneau de mise à jour. – Ravikumar

+0

Veuillez arrêter d'utiliser UpdatePanels et essayer de faire une requête depuis javascrip/jquery etc. UpdatePanels est frustrant. – Imad

+0

Merci pour la réponse rapide les gars. @ Ravikumar, vous aviez raison, cela fonctionne quand je supprime le panneau de mise à jour. –

Répondre

0

En raison de l'utilisation que vous avez panneau de mise à jour qui est la raison pour laquelle il ne sera pas post-retour la page. Vous devez publier la page avec force. ou Vous devriez supprimer le panneau de mise à jour.