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

时间:2013-05-31 05:06:26

标签: 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>

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

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

1 个答案:

答案 0 :(得分:23)

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

<asp:PostBackTrigger ControlID="TabContainer1$tabCompanyName$btnStateExportToExcel" />