Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Could not find UpdatePanel with ID

I have recently updated a project to DNN 6.0.1. I started with the 6.0.1 install and added my desktop modules from there. A problem has occured in the move from 5.6.3 to 6.0.1 with some functionality in a few of my user controls. Before I get too in-depth I will admit I am a bit of a nube.

A quick overview I have an ascx that contains all of it's functionality in another control that contains several other controls within an asp wizard.
(the reason for so many nested controls is hiding functionality for licensing purposes and the fact that another module [also licensed] relies on the functionality in the first-child control)

It goes like this Parent: ViewReportRisk.ascx >> Child: ReportRiskWizard.ascx >> Second-Child: Attachments.ascx (licensing -- hide functinality) (Main Functionality) (controls that support functionality)

The wizard (in child control) is inside of a Telerik RadMultiPage. The control (second-child control)that I am having the trouble with contains a RadUploader wrapped in an asp Update Panel.

When I click "Next" in the wizard to view the control with the RadUploader, I am getting this error:

Sys.InvalidOperationException: Sys.InvalidOperationException: Could not find UpdatePanel with ID 'dnn_ctr445_ViewReportIssue_wzAddRisk_AttachmentsAddTemp_UpdatePanel1'. If it is being updated dynamically then it must be inside another UpdatePanel.' when calling method: [nsIDOMEventListener::handleEvent]

The Id is good. I am not dynamically creating the control, and when I remove the update panel, the control appears, but the upload functionality is lost.

A quick overview of controls (abbreviated):

ViewReportIssue.ascx

    <%@ Control Language="C#" Inherits="NWDS.Modules.ReportIssue.ViewReportIssue" AutoEventWireup="true"
        CodeBehind="ViewReportIssue.ascx.cs" %>
    <%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %>
    <%@ Register src="ReportIssueWizard.ascx" tagname="ReportIssueWizard" tagprefix="uc2" %>
    <%@ Register src="../Utils/LicensingInfo.ascx" tagname="LicensingInfo" tagprefix="uc1" %>

    <uc1:LicensingInfo ID="LicensingInfo1" runat="server" />

    <asp:Panel runat="server" ID="pnlContainer">
        <uc2:ReportIssueWizard ID="ReportIssueWizard1" runat="server" />   
    </asp:Panel>

ReportIssueWizard.ascx

<%@ Register Src="Attachments.ascx" TagName="Attachments" TagPrefix="nwds" %>
<%@ Register Src="NonPunitiveReportingPolicy.ascx" TagName="NonPunitiveReportingPolicy"
    TagPrefix="nwds" %>
<%@ Register Src="DescriptionCorrectiveAction.ascx" TagName="DescriptionCorrectiveAction"
    TagPrefix="nwds" %>
<%@ Register Src="ThankYou.ascx" TagName="ThankYou" TagPrefix="nwds" %>
<%@ Register Src="SelectDivisionTypeCustomType.ascx" TagName="SelectDivisionTypeCustomType"
    TagPrefix="nwds" %>
<%@ Register Src="IssuePeopleInvolved.ascx" TagName="IssuePeopleInvolved" TagPrefix="nwds" %>
<%@ Register Src="WhereWhen.ascx" TagName="WhereWhen" TagPrefix="nwds" %>
<%@ Register Src="CustomATC.ascx" TagName="ATC" TagPrefix="customReport" %>
<%@ Register Src="CustomCabinSafety.ascx" TagName="Cabin" TagPrefix="customReport" %>
<%@ Register Src="CustomFlightSafety.ascx" TagName="Flight" TagPrefix="customReport" %>
<%@ Register Src="CustomMaintenance.ascx" TagName="Maintenance" TagPrefix="customReport" %>
<%@ Register Src="ReportRiskViewMode.ascx" TagName="ViewMode" TagPrefix="nwds" %>
<%@ Register Src="CustomParamedic.ascx" TagName="CustomParamedic" TagPrefix="nwds" %>
<%@ Register Src="QuickReport.ascx" TagName="QuickReport" TagPrefix="nwds" %>
<%@ Register Src="../Utils/GlobalMessage.ascx" TagName="GlobalMessage" TagPrefix="nwds" %>


<telerik:RadTabStrip ID="tsMenu" runat="server" MultiPageID="mpvMain" Skin="Telerik"
                    AutoPostBack="True" SelectedIndex="0" OnTabClick="tsMenu_TabClick">
                    </telerik:RadTabStrip>
                    <telerik:RadMultiPage ID="mpvMain" runat="server" RenderSelectedPageOnly="True" SelectedIndex="0"
    Width="100%">
    <telerik:RadPageView runat="server" ID="pvReport">
        <div id="forcer" runat="server">
            <asp:Label ID="lblWarning" CssClass="Warning" runat="server"></asp:Label>
            <asp:MultiView ID="mvReportRisk" runat="server">
                <asp:View ID="vBasicDetails" runat="server">
                    <asp:Wizard ID="wzAddRisk" runat="server" Width="1000px" OnActiveStepChanged="wzAddRisk_ActiveStepChanged"
                        OnNextButtonClick="ChangeHeaderNext" OnPreviousButtonClick="ChangeHeaderPrevious"
                        OnFinishButtonClick="wzAddRisk_FinishButtonClick" ActiveStepIndex="0">                      
                     <WizardSteps>
                        <asp:WizardStep ..........

                         <asp:WizardStep ID="Attachments" runat="server" Title="7. Add Attachments">

                                <nwds:Attachments ID="AttachmentsAddTemp" runat="server" CanAddNewAttachments="true"
                                    UserCanEdit="true" attachmentType="Temp" />

                        </asp:WizardStep>
                         </WizardSteps>
                    <FinishNavigationTemplate>
                        <table width="100%" class="formBg">
                            <tr>
                                <td align="left" valign="top">
                                    <asp:Button ID="btnPrevious" runat="server" CssClass="Button" Text="Previous" OnClick="ChangeHeaderPrevious" />
                                </td>
                                <td align="right" valign="top">
                                    <asp:Button ID="btnSubmitIssue" runat="server" CssClass="Button" Text="Submit" OnClick="btnSubmitIssue_Click" />
                                </td>
                            </tr>
                        </table>
                    </FinishNavigationTemplate>
                    <StepNavigationTemplate>
                        <table width="100%" class="formBg">
                            <tr>
                                <td>
                                    <div style="padding-top: 0px; text-align: left;">
                                        <asp:Button ID="btnPrevious" runat="server" CssClass="Button" Text="Previous" OnClick="ChangeHeaderPrevious" />
                                    </div>
                                </td>
                                <td>
                                    <div style="padding-top: 0px; text-align: right;">
                                        <asp:Button ID="Button2" runat="server" CssClass="Button" Text="Next" OnClick="ChangeHeaderNext" />
                                    </div>
                                </td>
                            </tr>
                        </table>
                    </StepNavigationTemplate>
                    <HeaderStyle CssClass="formHeadingSub" />
                    <SideBarTemplate>
                        <asp:DataList ID="SideBarList" runat="server">
                            <SelectedItemStyle Font-Bold="True" />
                            <ItemTemplate>
                                <asp:LinkButton ForeColor="Black" ID="SideBarButton" runat="server" Font-Size="1em"
                                    OnClick="ChangeHeader" BackColor="transparent" Font-Underline="True" Font-Bold="true"></asp:LinkButton>
                            </ItemTemplate>
                            <SelectedItemTemplate>
                                <asp:LinkButton ID="SideBarButton" OnClick="ChangeHeader" runat="server" BackColor="#e4e4e4"
                                    ForeColor="Black" Font-Bold="true" Font-Underline="True" Font-Size="1em"></asp:LinkButton>
                            </SelectedItemTemplate>
                        </asp:DataList>
                    </SideBarTemplate>
                </asp:Wizard>
                <br />
                <div class="">
                    <strong>Note: </strong>For best results, do not use the browser back button. Use
                    either the "Previous" button or the side menu to navigate.
                </div>
            </asp:View>
        </asp:MultiView>
            </div>
</telerik:RadPageView>

Attachments.ascx

    <%@ Control Language="C#" AutoEventWireup="true" CodeBehind="Attachments.ascx.cs" Inherits="NWDS.Modules.ReportIssue.Attachments" %>
    <%@ Register Src="../Utils/GlobalMessage.ascx" TagName="GlobalMessage" TagPrefix="nwds" %>
    <%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %>
    <style type="text/css">
        ul li
        {
            list-style: none;
        }
    </style>
    <div>

      <asp:UpdatePanel ID="UpdatePanel1" runat="server">
            <ContentTemplate>
                <telerik:radgrid id="gvAttachments" width="50%" skin="Default" runat="server" autogeneratecolumns="False"
                    allowautomaticdeletes="True" allowautomaticupdates="True" gridlines="None"
                    ondeletecommand="gv_DeleteCommand" datasourceid="odsAttachments" visible="False"
                    onitemdatabound="gv_ItemDataBound">
                </telerik:radgrid>
                <telerik:radgrid id="gvTemp" width="50%" skin="Default" runat="server" autogeneratecolumns="False"
                    allowautomaticupdates="True" gridlines="None" datasourceid="odsTempFiles" visible="false" ondeletecommand="gv_DeleteCommand"
                    onitemdatabound="gv_ItemDataBound"> 
                 </telerik:radgrid>
                <telerik:radgrid id="gvNonReportedIssueRelatedAttachments" width="50%" skin="Default" runat="server"
                    autogeneratecolumns="False" allowautomaticupdates="True"
                    gridlines="None" datasourceid="odsNonReportedIssueRelatedAttachments"
                    visible="false" ondeletecommand="gv_DeleteCommand" onitemdatabound="gv_ItemDataBound">
                </telerik:radgrid>
                <br />  

                <telerik:radupload id="ruIssueAttachments" runat="server" onfileexists="ruIssueAttachments_FileExists"
                    allowedfileextensions="tiff,jpg,jpeg,png,gif,bmp,doc,docx,xls,xlsx,pdf,txt" controlobjectsvisibility="None"
                    initialfileinputscount="10">
                </telerik:radupload>

                <div style="padding-bottom: 15px;">
                    <asp:Button ID="btnUploadAttachments" runat="server" Text="Upload" CssClass="Button"
                        OnClick="UploadFiles" />
                        &nbsp;&nbsp;&nbsp;&nbsp;<asp:Label id="lblUploadWarning" runat="server"  style="font-weight: bold; color: Red;">To add the attachment, click the Upload Button</asp:Label></div></div>
            </ContentTemplate>
            <Triggers>
                <asp:PostBackTrigger ControlID="btnUploadAttachments" />
            </Triggers>
     </asp:UpdatePanel>     

This didn't occur in the DNN 5.6.3 build, only in 6.0.1 (same code in the module)
Just for S&G I placed an update panel on another second-child control and it threw the same error, so I am certain it has something to do with the nesting of the controls (Parent-Child-GrandChild), but I am unsure of how to remedy this.

Any help is greatly appreciated, thanks in advance.

like image 601
D-Money Avatar asked Sep 20 '11 21:09

D-Money


1 Answers

Well as it turns out, the answer to my problem is setting the UpdateMode property of the UpdatePanel to Conditional

like image 58
D-Money Avatar answered Sep 19 '22 12:09

D-Money