Asp.net

asp.net gridview:如何在一列中有多個按鈕欄位?

  • December 5, 2018

我需要為 gridview 創建多個操作 - 比如“批准”、“拒絕”和“返回”。

我可以通過為每個操作創建一個按鈕欄位來做到這一點:

<asp:ButtonField ButtonType="Link" CommandName="Approve" Text="Approve" /> 
<asp:ButtonField ButtonType="Link" CommandName="Deny" Text="Deny /> 
<asp:ButtonField ButtonType="Link" CommandName="Return" Text="Deny" /> 

但是,這會為每個按鈕創建一列。

有沒有辦法擁有相同的功能,但將它們組合成一列?

您是否考慮過使用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>

然後,您可以使用完全相同的方式擷取命令OnRowCommand或執行任何您喜歡的操作。您可以完全控制它以使其按照您的需要執行,並且不受使用正常預定義列類型的內置功能的約束。

引用自:https://stackoverflow.com/questions/5120114