2011-09-20 47 views
5

我最近更新了一个项目到DNN 6.0.1。我从6.0.1安装开始,并从那里添加我的桌面模块。从5.6.3到6.0.1的某些功能在我的一些用户控件中出现问题。在我深入了解之前,我会承认我有点像一个nube。找不到UpdatePanel ID

快速概述我有一个ascx,其中包含其在asp向导中包含其他控件的另一个控件中的所有功能。
(这么多的嵌套控件的原因是躲在用于许可目的的功能,事实上,另一个模块[也许可]依赖于第一子控件的功能)

它是这样的家长:ViewReportRisk.ascx >> Child:ReportRiskWizard.ascx >> Second-Child:Attachments.ascx (许可 - 隐藏功能)(主要功能)(支持功能的控件)

向导(在子控件中)位于Telerik RadMultiPage。我遇到麻烦的控件(第二个子控件)包含一个封装在asp更新面板中的RadUploader。

当我在向导中点击“下一步”,查看与RadUploader控制,我得到这个错误:

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] 

ID是好的。我不动态创建控件,当我删除更新面板时,控件出现,但上传功能丢失。

控件快速概览(略):

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>  

这并没有发生在DNN 5.6.3版本,只在6.0.1(模块中的代码相同)
只为S & GI放置在另一个二子控件上的更新面板,它抛出了相同的错误,所以我确定它与嵌套控件(Parent-Child-GrandChild)有关,但我不确定如何解决这个问题。

任何帮助是极大的赞赏,在此先感谢。

回答

5

事实证明,我的问题的答案是将UpdatePanel的UpdateMode属性设置为有条件的

+0

那么我会接受这个答案。 – Blender

+0

您可能想要阅读关于DNN 6中updatepanels用户的博客主题。作为“使用部分呈现”模块选项的结果使用的基础更新面板现在是Telerik更新面板,并且分层更新面板可能会破坏事情。 http://www.ifinity.com.au/Blog/EntryId/118/DotNetNuke-6-0-and-ASP-NET-Ajax-Update-Panels –

+0

我有同样的问题,但补充说没有帮助... http://stackoverflow.com/questions/25365941/why-isnt-the-updatepanel-found-to-update-the-data – SearchForKnowledge

相关问题