asp.net gridview:如何在一列中有多个按钮字段?

chr*_*ris 8 asp.net gridview webforms

我需要为gridview创建多个动作 - 比如"Approve","Deny"和"Return".

我可以通过为每个操作创建一个按钮字段来完成此操作:

<asp:ButtonField ButtonType="Link" CommandName="Approve" Text="Approve" /> 
<asp:ButtonField ButtonType="Link" CommandName="Deny" Text="Deny /> 
<asp:ButtonField ButtonType="Link" CommandName="Return" Text="Deny" /> 
Run Code Online (Sandbox Code Playgroud)

但是,这会为每个按钮创建一列.

有没有办法拥有相同的功能,但将它们组合成一个列?

Kel*_*sey 10

你考虑过用过TemplateField吗?这是一个例子:

<asp:GridView ID="grdTest" runat="server">
    <Columns>
        <asp:TemplateField>
            <ItemTemplate>
                <asp:LinkButton ID="btnApprove" runat="server" CommandName="Approve" Text="Approve" />
                <asp:LinkButton ID="btnDeny" runat="server" CommandName="Deny" Text="Deny" />
                <asp:LinkButton ID="btnReturn" runat="server" CommandName="Return" Text="Return" />
            </ItemTemplate>                
        </asp:TemplateField>
    </Columns>
</asp:GridView>
Run Code Online (Sandbox Code Playgroud)

然后,您可以使用完全相同的方式捕获命令OnRowCommand或执行任何您喜欢的操作.您可以完全控制它使其按您需要的方式运行,而不受使用常规预定义列类型的内置功能的约束.