将可单击的图像添加到ASP.Net中的GridView

use*_*661 2 asp.net gridview image hyperlink

我正在尝试在GridView的每一行的末尾添加删除图像.我希望用户能够单击图像以删除该行.

所以我使用HyperLinkField创建了另一个页面的链接,该页面将删除记录:

<asp:HyperLinkField DataNavigateUrlFields="ID" 
                        DataNavigateUrlFormatString="RemoveLine.aspx?ID={0}"                             
                        Target="_blank"   />
Run Code Online (Sandbox Code Playgroud)

HyperLinkField不包含Image标签,因此我在里面创建了一个带有Image的TemplateField.

<asp:TemplateField>
    <ItemTemplate>
        <asp:Image ID="imageRemove" runat="server" ImageUrl="~/Images/smallcross.gif"  />                                
    </ItemTemplate>                        
</asp:TemplateField>
Run Code Online (Sandbox Code Playgroud)

但是,HyperLinkField和Image显示在不同的列中,并且图像没有单击事件.

有什么办法把两者结合起来?

我正在使用ASP.Net 4.0.

提前致谢

ArB*_*rBR 5

通常,您需要确定要删除的记录,可以使用CommadArgument属性来标识记录的Id:

<asp:TemplateField HeaderStyle-Width="40">
    <ItemTemplate>
        <asp:ImageButton ID="ButtonDelete" runat="server"  
            ImageUrl="~/Imags/delete.png" OnClick="ButtonDelete_Click" ToolTip="Delete"
            CommandArgument='<%#Bind("UserId")%>'/>
    </ItemTemplate>
</asp:TemplateField>

protected void ButtonDelete_Click(object sender, EventArgs e)
{
    ImageButton button = sender as ImageButton;
    DeleteUserById(Convert.ToInt32(button.CommandArgument));
}
Run Code Online (Sandbox Code Playgroud)