0

したがって、FooterTemplate 内にボタン Add のコマンド名を定義したグリッドビューがあります。そのためのコードは次のとおりです。

                                      <asp:TemplateField>
                                    <HeaderStyle Font-Size="XX-Small" Font-Names="Verdana" Font-Bold="True" VerticalAlign="Top"></HeaderStyle>
                                    <FooterTemplate><asp:LinkButton CommandName="Insert" Text="Add credit" ID="btnAdd" OnClick="btnAdd_Click" Runat="server" Font-Size="XX-Small  "
                                            Font-Names="Verdana" Font-Bold="True" ForeColor="#5BB1E6" Width="7%"></asp:LinkButton>
                                    </FooterTemplate>
                                </asp:TemplateField>

この [追加] ボタンと同じように、[編集] という別のボタンがあり、これらすべてのボタンの SQL ステートメントを 1 つの関数に入れたいと考えています。私はこのようなことをしたかった:

protected bool AddNewCredit()

        if (e.Commandname == "Insert")
    {
    Do This}
    if (e.Commandename == "Edit")
    {
    Do this
    } 

等々。問題は、e.rowcommand にアクセスしようとすると、e の後に commandname がキャッチされないことです。

関数で e.commandname の値を読み取れるようにするという私の目標を達成するために、助けていただければ幸いです。みんなありがとう:)

4

1 に答える 1

1

これを次のように変更します。

<asp:LinkButton CommandName="Insert" Text="Add credit" ID="btnAdd" OnCommand="btnAdd_Click" Runat="server" Font-Size="XX-Small  "
                                        Font-Names="Verdana" Font-Bold="True" ForeColor="#5BB1E6" Width="7%"></asp:LinkButton>

次に、 btnAdd_Click 関数を次のように変更します。

public void btnAdd_Click(object sender, CommandEventArgs e)
{
    string sCommandName = e.CommandName;
}

CommandName と CommandArgument をキャッチしたい場合は、OnClick ではなく OnCommand イベントを使用する必要があります。

于 2012-10-04T20:16:00.230 に答える