2011-09-20 3 views
5

Ho recentemente aggiornato un progetto su DNN 6.0.1. Ho iniziato con l'installazione 6.0.1 e ho aggiunto i miei moduli desktop da lì. Si è verificato un problema durante lo spostamento da 5.6.3 a 6.0.1 con alcune funzionalità in alcuni dei miei controlli utente. Prima di arrivare troppo in profondità, ammetterò che sono un po 'maleducato.Impossibile trovare UpdatePanel con ID

Una rapida panoramica Ho un ascx che contiene tutte le sue funzionalità in un altro controllo che contiene molti altri controlli all'interno di una procedura guidata di asp.
(il motivo di così tanti controlli nidificati si nasconde funzionalità a scopo di licenza e il fatto che un altro modulo [anche concesso in licenza] si basa sulla funzionalità nel controllo first-child)

Va in questo modo principale: ViewReportRisk.ascx >> Child: ReportRiskWizard.ascx >> Second-Child: Attachments.ascx (licensing - nascondi functinality) (Funzionalità principale) (controlla quella funzionalità di supporto)

La procedura guidata (nel controllo figlio) è all'interno di un Telerik RadMultiPage. Il controllo (controllo second-child) che sto riscontrando nei problemi contiene un RadUploader racchiuso in un Asp Update Panel.

Quando faccio clic su "Avanti" nella procedura guidata per visualizzare il controllo con l'RadUploader, sto ottenendo questo errore:

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] 

l'ID è buona. Non sto creando dinamicamente il controllo e quando rimuovo il pannello di aggiornamento, viene visualizzato il controllo, ma la funzionalità di caricamento è persa.

Una rapida panoramica dei controlli (abbreviato):

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>  

Questo ha fatto non si verifica nella build DNN 5.6.3, solo nella 6.0.1 (stesso codice nel modulo)
Solo per S & GI collocato un pannello di aggiornamento su un altro controllo second-child e ha lanciato lo stesso errore, quindi io Sono certo che abbia qualcosa a che fare con il nidificazione dei controlli (Genitore-Figlio-Grand-bambino), ma non sono sicuro di come rimediare a questo.

Qualsiasi aiuto è molto apprezzato, grazie in anticipo.

risposta

5

Beh, come si è visto, la risposta al mio problema è l'impostazione della proprietà UpdateMode del UpdatePanel al condizionale

+0

mi piacerebbe accettare questo come la risposta, allora. – Blender

+0

Si potrebbe voler leggere l'argomento del mio blog sull'utente di updatepanels in DNN 6. Il pannello di aggiornamento sottostante utilizzato come risultato dell'opzione del modulo 'use partial rendering' ora è un pannello di aggiornamento di Telerik, e la stratificazione dei pannelli di aggiornamento può violare le cose. http://www.ifinity.com.au/Blog/EntryId/118/DotNetNuke-6-0-and-ASP-NET-Ajax-Update-Panels –

+0

Ho lo stesso problema ma aggiungo che non help ... http://stackoverflow.com/questions/25365941/why-isnt-the-updatepanel-found-to-update-the-data – SearchForKnowledge