繁体   English   中英

如何获得在button1click上gridview1中的gridview1中的链接按钮ID-asp.net

[英]How to get the link button id which is in gridview1 on button1click which is in gridview2 - asp.net

我已经放置了两个gridview控件,其中有多个按钮。 我在gridview1中有linkbutton,在gridview2中有button1。 我需要在grdiview2中单击button1上的链接按钮ID。

这是我的代码的片段:

     <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;
    }
 }

需要帮忙。 谢谢。

尝试这个

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

您的代码失败的原因是您将网格视图投射到了无法使用的链接按钮上。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM