Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何检查嵌套Datagrid中单击的行按钮_C#_.net_Datagridview_Buttonclick - Fatal编程技术网

C# 如何检查嵌套Datagrid中单击的行按钮

C# 如何检查嵌套Datagrid中单击的行按钮,c#,.net,datagridview,buttonclick,C#,.net,Datagridview,Buttonclick,我正在开发一个Web应用程序,其中包含一个与另一个数据网格嵌套的数据网格。其中,子数据网格在每个父网格的末尾包含一个按钮,如下所示:- 我想要的是我需要知道在点击按钮时点击了哪个按钮 这是我的aspx代码: <asp:DataGrid ID="dgparent" runat="server" BorderWidth="1px" BorderColor="#FE9B00"> <Columns> <asp:TemplateColumn>

我正在开发一个Web应用程序,其中包含一个与另一个数据网格嵌套的数据网格。其中,子数据网格在每个父网格的末尾包含一个按钮,如下所示:-

我想要的是我需要知道在点击按钮时点击了哪个按钮

这是我的aspx代码:

<asp:DataGrid ID="dgparent" runat="server" BorderWidth="1px" BorderColor="#FE9B00">
 <Columns>
    <asp:TemplateColumn>
          <ItemTemplate>
        <asp:DataGrid ID="dgchild" runat="server" >
         <Columns>
        <asp:BoundColumn DataField="ID" HeaderText="mFCF_NUPKId"                    Visible="False"></asp:BoundColumn>
        <asp:BoundColumn DataField="CostSheetNo" HeaderText="CostSheetNo"               SortExpression="CostSheetNo">
            </Columns>
      </asp:DataGrid>
        <table>
            <tr>
            <td>
            <asp:Label ID="LblTotalCoLoaderFrom1" runat="server" Text="Total Cost :             "></asp:Label>
            <asp:TextBox ID="TxtTotalCoLoaderFrom1" runat="server"          Enabled="false"></asp:TextBox>
            </td>
            <td>
            <asp:Label ID="LblTotalYeild" runat="server" Text="Total Yeild :            "></asp:Label>
            <asp:TextBox ID="TxtTotalYeild" runat="server"          Enabled="false"></asp:TextBox>
            </td>
            <td>
            <asp:Button ID="BTNBookingReq" runat="server" class="formbutton"            OnClick="BTNBookingReq_Click" Text="Send Booking Request"/>
            </td>
            </tr>
         </table>
    </ItemTemplate>
    </asp:TemplateColumn>
 </Columns>
</asp:DataGrid>
谁能帮我解决这个问题。
提前感谢

您可以使用按钮的NamingContainer获取父网格项,它将提供datagrid项。从这里,您可以使用FindControl方法找到每个文本框,如下所示

protected void BTNBookingReq_Click(Object sender, EventArgs e)
{
    Button btnSender = (Button)sender;
    DataGridItem item = btnSender.NamingContainer as DataGridItem;
    if (item != null)
    {
        TextBox TxtTotalCoLoaderFrom1 = item.FindControl("TxtTotalCoLoaderFrom1") as TextBox;
        //Do your operation here
    }

}

谢谢你的解决方案帮助我摆脱困境。hedge你能帮我解决这个问题吗请帮我解决我在这里提到的问题你好,你能帮我解决这个问题吗
protected void BTNBookingReq_Click(Object sender, EventArgs e)
{
    Button btnSender = (Button)sender;
    DataGridItem item = btnSender.NamingContainer as DataGridItem;
    if (item != null)
    {
        TextBox TxtTotalCoLoaderFrom1 = item.FindControl("TxtTotalCoLoaderFrom1") as TextBox;
        //Do your operation here
    }

}