无法在更新面板中找到触发器的控件

Ric*_*cha 10 asp.net triggers updatepanel

在我们使用c#的asp.net应用程序中,我们使用Ajax和更新面板控件.在面板中,我们已将导出到Excel选项卡面板中的excel按钮.

我们还在内容模板结束后放置了触发器.请在下面找到代码供您参考.

<asp:UpdatePanel ID="UpdatePanelPage" runat="server" UpdateMode="Conditional">
    <ContentTemplate>

        <table id="tblMain" runat="server" cellpadding="0" cellspacing="0"    width="100%">
             <tr>
                 <td>
                     <asp:TabContainer ID="TabContainer1" runat="server" Width="100%">
                         <asp:TabPanel ID="tabCompanyName" runat="server">
          <asp:Button ID="btnStateExportToExcel" runat="server" Text="Export To Excel"    CssClass="button" OnClick="btnStateExportToExcel_Click" />
   </asp:TabPanel>
</asp:TabContainer>
                  </td>
            </tr>
        </table>
    </ContentTemplate>
   <Triggers>
          <asp:PostBackTrigger ControlID="btnStateExportToExcel" />
     </Triggers>
            </asp:UpdatePanel>
Run Code Online (Sandbox Code Playgroud)

现在,当我们运行页面时,将显示错误."在UpdatePanel'UpdatePanelPage'中找不到具有ID'btnStateExportToExcel'的控件."任何想法/建议都会非常值得注意.

*根据Google的搜索结果,该按钮位于标签面板中,因为哪个页面无法找到此控件.

Bor*_*ovs 25

您的按钮位于其他控件内.您应该为更新面板触发器指定namingcontainer层次结构.我认为这可以帮助你:

<asp:PostBackTrigger ControlID="TabContainer1$tabCompanyName$btnStateExportToExcel" />
Run Code Online (Sandbox Code Playgroud)

  • 是的,但这仅在按钮不是 gridview 的一部分时才有效。那么您如何将更新面板指向许多提交类型按钮之一? (2认同)