ASP.NET DetailsView EmptyDataTemplate 按钮处理程序

ASP.NET DetailsView EmptyDataTemplate button handler

我在DetailsViewEmptyDataTemplate中放了一个button。如果我双击它,它将在代码隐藏中为我设置一个处理程序。

有没有一种无需双击设计器中的按钮即可设置处理程序的方法。

在代码隐藏中,我无权访问按钮 ID 以便我将处理程序附加到它?

所以我手动将 OnClick="btnNew_Click" 属性放在标记中。有没有办法在代码隐藏中做到这一点?

<asp:DetailsView ID="DetailsView2" runat="server" AutoGenerateRows="False" DataKeyNames="Id" DataSourceID="ObjectDataSource3" Height="50px" Width="50%">
    <EmptyDataTemplate>
        <asp:LinkButton ID="lnkNewNote" OnClick="btnNew_Click" runat="server" CausesValidation="True" CommandName="New" Text="New"></asp:LinkButton>
    </EmptyDataTemplate>

您可以使用 FindContolEmptyDataTemplate 中找到 LinkBut​​ton 并添加一个 Click 事件。

LinkButton lb = DetailsView2.FindControl("lnkNewNote") as LinkButton;
lb.Click += btnNew_Click;