0

GridView の「削除」リンクを登録ユーザーに表示したいので、templateField を使用しています。

    <asp:GridView ID="GridView1" runat="server" AllowSorting="True" OnSorting="GridView_Sort">
    <Columns>
        <asp:TemplateField HeaderText="Control">
        <ItemTemplate>
            <asp:LinkButton ID="LinkButton1" runat="server" onClick="deleteEntry()"  Text="Delete"></asp:LinkButton>
        </ItemTemplate>
        </asp:TemplateField>  
    </Columns>
    </asp:GridView>

私の deleteEntry() 関数では、「削除」リンクがクリックされた行についてどのように知ることができますか? たとえばrowindexを取得するにはどうすればよいですか?

4

1 に答える 1

1

これは少し異なる方法でアプローチできます。コントロールがグリッドビュー内に配置されている場合、そのコントロールから発生したイベントは、RowCommandGridView でも発生します。

必要なものを取得するには、 と の両方CommandNameを追加して、GridView の RowCommand でキャッチしますCommandArgumentLinkButton

<asp:LinkButton id="LinkButton1" runat="server" commandName="LinkButtonClicked" commandArgument='Eval("myObjectID")' />

myObjectID、グリッドをバインドするオブジェクトの ID 列の名前です。

それで

void GridView1_RowCommand( object sender, GridViewCommandEventArgs e )
{
    if ( e.CommandName == "LinkButtonClicked" )
    {
        string id = e.CommandArgument; // this is the ID of the clicked item
    }
}
于 2012-03-11T13:31:27.330 に答える