2013-06-18 1 views
0

Я разместил два элемента управления gridview, в которых у меня есть кнопки. У меня есть linkbutton в gridview1 и button1 в gridview2. Мне нужно получить идентификатор linkbutton на кнопке 1 щелчок в grdiview2.Как получить идентификатор кнопки ссылки, который находится в gridview1 на button1click, который находится в gridview2 - asp.net

вот фрагмент моего кода:

 <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="lnkGridSubCategory" runat="server" CssClass='<%# "CategoryTab" + Eval("id") %>' 
            Width="80px" Height="26px" Text='<%#DataBinder.Eval(Container.DataItem, "SubCategory")%>' 
            CommandName="Test"></asp:LinkButton> 
          </div> 
         </div> 

здесь GridView 2:

<asp:GridView ID="Categorygvdata" runat="server" AllowPaging="false" AllowSorting="false" 
      CssClass="gvdatarow" ShowHeader="false" DataKeyNames="Id" AutoGenerateColumns="False" 
      OnSelectedIndexChanged="Categorygvdata_SelectedIndexChanged"> 
      <HeaderStyle BackColor="#013a04" Height="25px" ForeColor="White" /> 
      <Columns> 
       <asp:TemplateField ItemStyle-Font-Names="Estrangelo Edessa" HeaderStyle-Font-Names="Estrangelo Edessa"> 
        <ItemTemplate> 
         <div class="category_type"> 
          <asp:Button ID="Button1" runat="server" CommandName="FilterCategory" CommandArgument='<%# Eval("Id") %>' 
           CssClass='<%# "CategoryTab" + Eval("Id") %>' Text='<%# Eval("Category") %>' OnCommand="Button1_Click" /> 
         </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> 

стороне сервера код:

Я пробовал это, но не повезло.!

protected void Button1_Click(object sender, CommandEventArgs e) 
{ 
LinkButton GridView1 = (LinkButton)gvdatasubcategory.FindControl("Categorygvdata"); 



    foreach (GridViewRow row in gvdatasubcategory.Rows) 
    { 
     LinkButton btn = (LinkButton)row.FindControl("lnkGridSubCategory"); 
     string strClientID = string.Empty; 
     strClientID = btn.ClientID; 
    } 
} 

Нужна помощь. Thankyou.

ответ

0

Попробуйте

LinkButton lnkGridSubCategory = (LinkButton)gvdatasubcategory.FindControl("lnkGridSubCategory"); 
foreach (GridViewRow row in gvdatasubcategory.Rows) 
{ 
    string strClientID = string.Empty; 
    strClientID = lnkGridSubCategory.ClientID; 
} 

Причина, почему ваш код не удается, что вы бросаете вид сетки на кнопку линии, которая не будет работать.