0

GridView に表示される行ごとに 2 つの [選択] ボタンを含む GridView があります。

SelectedIndexChanged ハンドラーを使用して、2 つのボタンのどちらがクリックされたかを調べる方法があるかどうかを知りたいです。

このコーディングは、私たちが持っているボタンを示しています:

<asp:UpdatePanel 
    ID="UpdatePanelParentsSummary" 
    runat="server" 
    UpdateMode="Conditional">

    <ContentTemplate> 
        <p>Parent Search:
            <asp:TextBox 
                ID="TextBoxSearch" 
                runat="server" 
                Width="207px" 
                Text="ALL"> </asp:TextBox>

            <asp:Button 
                ID="ButtonSearch" 
                runat="server" 
                Text="Search" />

            <asp:Button 
                ID="ButtonSearchAll" 
                runat="server" 
                Text="Show ALL Parents" />

            <br />
        </p>

        <asp:GridView
            ID="GridViewParentsSummary" 
            runat="server" 
            AllowPaging="True" 
            AllowSorting="True" 
            AutoGenerateColumns="False" 
            DataKeyNames="ID"
            >

            <Columns>
                <asp:BoundField 
                    DataField="ID" 
                    HeaderText="ID" 
                    SortExpression="ID" InsertVisible="False" ReadOnly="True" Visible="False" />

                <asp:BoundField 
                    DataField="FatherName" 
                    HeaderText="FatherName" 
                    SortExpression="FatherName" />

                <asp:BoundField DataField="MotherName" HeaderText="MotherName" 
                    SortExpression="MotherName" />

                <asp:ButtonField 
                    ButtonType="Button" 
                    CommandName="Select" 
                    Text="Select Details" />

                <asp:ButtonField 
                    ButtonType="Button" 
                    CommandName="Select" 
                    Text="New Person To Release Child" />
            </Columns>
        </asp:GridView>
    </ContentTemplate>
</asp:UpdatePanel>

SelectedIndexChanged ハンドラーのコードは次のとおりです。

Protected Sub GridViewParentsSummary_SelectedIndexChanged(sender As Object, e As EventArgs) Handles GridViewParentsSummary.SelectedIndexChanged

    IntParentsID = GridViewParentsSummary.DataKeys(GridViewParentsSummary.SelectedIndex).Value

    Response.Redirect("AuthorizationForChildReleaseDetails.aspx")
End Sub
4

2 に答える 2

2

ああ、この問題には簡単な解決策があります。あなたの送信者はクリックされたボタンです。次のようなものを試してみてください:

ButtonField buttonClicked = sender as ButtonField;
if (buttonClicked != null) {
    String commandName = buttonClicked.CommandName;

    if (commandName.equals("Command1") {
       ... do something awesome ...
    } else if (commandName.equals("Command2")) {
       ... do something less awesome ...
    }
}
于 2012-09-29T02:44:50.280 に答える