如何在ASP.NET gridview的标题中放置一个按钮?

前端之家收集整理的这篇文章主要介绍了如何在ASP.NET gridview的标题中放置一个按钮?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想要做的就是在gridview的标题中放置一个asp:按钮.
假设您有一个包含3列的网格视图 – id,name,family.所以,而不是标题[id,family]我希望它是[id,asp:button] – 所以按钮会有它的动作当然.

谢谢,
罗马.

解决方法

您需要采取的方法是将所需的GridView列设为模板字段.当您使用模板字段时,您可以将任何asp.net控件粘贴到gridview控件的每个主要部分(标题,项目,页脚等).我没有测试过这个,但原则上它看起来像这样:
<asp:GridView ID="Gridview1" runat="server">
        <Columns>
            <asp:BoundField DataField="yourDbColumnName" HeaderText="id" />
            <asp:BoundField DataField="yourDbColumnName" HeaderText="name" />
            <asp:TemplateField>
                <HeaderTemplate>
                    <asp:Button runat="server" ID="btnFamily" CommandName="FamilyClicked" />
                </HeaderTemplate>
                <ItemTemplate>
                    <asp:Literal runat="server" ID="litFamily" Text='<%# EVAL("YourDbColumnValue") %>'></asp:Literal>
                </ItemTemplate>
            </asp:TemplateField>
        </Columns>
    </asp:GridView>

要“捕获”按钮的单击事件并使用它执行某些操作,您需要使用GridView的RowCommand事件(这是一个起点 – 再次未经测试):

Protected Sub Gridview1_RowCommand(ByVal sender As Object,ByVal e As System.Web.UI.WebControls.GridViewCommandEventArgs) Handles Gridview1.RowCommand
    If e.CommandName = "FamilyClicked" Then
        ' they clicked by grid view header's asp:button control...
        Response.Write("TEST")
    End If
End Sub

这里的神奇之处在于分配按钮的CommandName属性(在这种情况下,我将其设置为“FamilyClicked”,但它可以是您想要的任何内容).

以下是GridView使用的模板字段技术的更多基础知识 – link text

希望有所帮助.

猜你在找的asp.Net相关文章