2013-06-17 1 views
0

ici est ma ASPX vueComment obtenir Button1 Id sur clic button2 sur asp.net côté serveur C#

  <asp:GridView ID="gvdatasubcategory" runat="server" AllowPaging="false" AllowSorting="false" 
      CssClass="gvdatarow" ShowHeader="false" AutoGenerateColumns="False" OnRowCommand="gvdatasubcategory_RowCommand"> 
      <Columns> 
       <asp:TemplateField ItemStyle-Font-Names="Estrangelo Edessa" HeaderStyle-Font-Names="Estrangelo Edessa"> 
        <ItemTemplate> 
         <div class="subcategory_type"> 
          <div id="abd" runat="server"> 
           <asp:LinkButton ID="button1" runat="server" CssClass="subcategory_name" 
            Width="80px" Height="26px" Text='<%#DataBinder.Eval(Container.DataItem, "SubCategory")%>' 
            CommandName="Test"></asp:LinkButton> 
          </div> 
         </div> 
        </ItemTemplate> 
        <HeaderStyle Font-Names="Estrangelo Edessa" Width="5px" /> 
        <ItemStyle Font-Names="Estrangelo Edessa" Width="5px" Wrap="false" HorizontalAlign="Center" /> 
       </asp:TemplateField> 
      </Columns> 
     </asp:GridView> 
<asp:Button ID="button2 " runat="server" CssClass="category_name" Text="getid" 
           OnClick="button2 _Click" /> 

ces boutons sont en gridview et je dois obtenir le premier id bouton sur le deuxième bouton clic dans le code derrière Merci d'avance Raveendra

+0

id Bouton? ou le texte qui y était lié? – Karthik

+0

this.button1.ClientID? –

+0

Pouvez-vous donner plus d'informations sur la fonctionnalité que vous essayez de créer? Je m'attends à ce que le gridview contienne plusieurs lignes et que par conséquent button1 ne soit pas directement accessible –

Répondre

0

Si vous cherchez objet linkButton, thenyou peut utiliser FindControl méthode:

LinkButton button1 = (LinkButton)gvdatasubcategory.Rows[0].Cells[0].FindControl("button1"); 
string buttonid = button1.ClientID; //gives client side id of the Linkbutton 

Mais gardez à l'esprit que la grille doit contenir les lignes, sinon vous obtiendrez null. Si vous avez besoin de toutes les instances Linkbutton, vous pouvez parcourir les datarows pour obtenir chaque identifiant de bouton de connexion.

+0

J'ai essayé ceci mais je suis arrivé à cette erreur. Index était hors de portée. Doit être non négatif et inférieur à la taille de la collection. Nom du paramètre: index – user2377806

+1

Vous devez lier la grille sur 'page_load' en dehors de la condition' If (! IsPostback) '. et cela devrait contenir au moins une rangée. –

0

Vous pouvez essayer ce code ci-dessous:

protected void button2_Click(object sender, EventArgs e) 
{ 
     foreach(GridViewRow row in gvdatasubcategory.Rows) 
     { 
      LinkButton btn = (LinkButton)row.FindControl("button1"); 
      string strClientID = string.Empty; 
      strClientID = btn.ClientID; 
     } 
} 
+0

J'ai essayé ce code mais mais le point d'arrêt ne va pas à l'intérieur de la boucle – user2377806

+0

Le gridview doit avoir quelques lignes pour obtenir le bouton à l'intérieur des lignes –

+0

pouvez-vous me donner l'exemple – user2377806

Questions connexes