Не удалось найти панель обновления с идентификатором - PullRequest
5 голосов
/ 21 сентября 2011

Я недавно обновил проект до DNN 6.0.1.Я начал с установки 6.0.1 и оттуда добавил свои модули рабочего стола.Возникла проблема при переходе с 5.6.3 на 6.0.1 с некоторыми функциями в некоторых моих пользовательских элементах управления.Прежде чем я углублюсь в подробности, я признаю, что я немного нуб.

Краткий обзор У меня есть ascx, содержащий все его функции в другом элементе управления, который содержит несколько других элементов управления в мастере asp.
(причина, по которой столь много вложенных элементов управления скрывает функциональность для целей лицензирования, а также тот факт, что другой модуль [также лицензированный] полагается на функциональность элемента управления первого потомка)

Это выглядит так: Parent:ViewReportRisk.ascx >> Дочерний объект: ReportRiskWizard.ascx >> Second-Child: Attachments.ascx (лицензирование - скрытие функций) (Основная функциональность) (элементы управления, поддерживающие функциональность)

Мастер (в дочернем элементе управления)внутри Telerik RadMultiPage.Элемент управления (второй дочерний элемент управления), с которым у меня возникают проблемы, содержит RadUploader, обернутый в панель обновления asp.

Когда я нажимаю «Далее» в мастере, чтобы просмотреть элемент управления с помощью 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]

Идентификатор хорош.Я не создаю динамически элемент управления, и когда я удаляю панель обновления, появляется элемент управления, но функция загрузки теряется.

Быстрый обзор элементов управления (сокращенно):

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 & G я поместил панель обновления на другой элемент управления второго дочернего элемента, и она вызвала ту же ошибку, так что я уверен, что это как-то связано с вложением элементов управления (родительский)-Чилд-ГрандЧилд), но я не уверен, как это исправить.

Любая помощь с благодарностью, заранее спасибо.

1 Ответ

5 голосов
/ 21 сентября 2011

Как оказалось, ответом на мою проблему является установка для свойства UpdateMode элемента UpdatePanel значения Conditional

...