ID가 'xxx'인 업데이트 패널을 찾을 수 없습니다.동적으로 업데이트되는 경우 다른 업데이트 패널 내부에 있어야 합니다.
Ajax Tab 컨트롤이 있는 페이지가 있는데, 탭 중 하나에 Telerik RadGrid로 표시되는 웹 컨트롤이 있습니다. 편집 양식은 다른 웹 컨트롤을 가리킵니다.해당 편집 양식에는 Ajax 탭도 포함되어 있으며, 이러한 탭 중 하나에는 또 다른 웹 컨트롤의 Ajax 모달 팝업이 있습니다.
초기 웹 컨트롤은 자체 페이지에서 사용할 때는 정상적으로 작동하지만, Ajax 탭에서 원하는 대로 컨트롤을 사용할 때는 편집 양식이 나타나지 않습니다.스크립트 관리자가 다음 오류를 발생시키고 있습니다.
Microsoft JScript 런타임 오류: Sys.잘못된 작업예외:ID가 'xxx'인 업데이트 패널을 찾을 수 없습니다.동적으로 업데이트되는 경우에는 다른 업데이트 패널 내부에 있어야 합니다.
이와 관련하여 어떠한 도움이라도 주시면 감사하겠습니다.
이 문제는 Telerik RadAjax Manager에 보이지 않는 컨트롤을 추가할 때 발생합니다.
따라서 AJAX 컨트롤을 표시/숨기기가 필요한 경우 ASPX 코드 대신 코드 뒤에 있는(제어 가시성 상태에 따라) AJAX 설정을 문법적으로 추가하는 것이 좋습니다.
자세한 정보:이 답변은 텔레릭 포럼에서 확인하시기 바랍니다.
음, 저는 이 오류가 당신의 스크립트에서 발생하는 것을 고려하고 있습니다.업데이트 패널을 표시하거나 숨기는 경우 이 오류가 표시됩니다.가장 좋은 해결책은 당신의 업데이트 패널을 당신이 표시하거나 숨기는 업데이트 패널의 상위가 될 다른 업데이트 패널의 컨텐츠 템플릿에 넣는 것입니다.
<asp:UpdatePanel ID="Panel1" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:UpdatePanel ID="Panel2" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:Label ID="labwl1" runat="server" Text="Label">
</asp:Label>
</ContentTemplate>
</asp:UpdatePanel >
</ContentTemplate>
</asp:UpdatePanel >
가 제가 .Panel2
그것은 어떠한 오류도 주지 않을 것입니다.
대부분의 경우 - 해당 업데이트 패널의 컨테이너/상위가trRow
그리고 당신은 다음과 같은 코드를 가지고 있습니다.trRow.Visible = false;
그러면 해당 업데이트 패널과 스로우 오류를 찾을 수 없습니다.
문제 해결부터 시작하기 위해 저는 개인적으로 코드의 일부를 제거하여 오류의 원인을 지정하려고 합니다.예를 들어 그리드를 제거하고 탭에서 동적으로 사용자 컨트롤 로드를 클릭하여 문제가 남아 있는지 확인한 다음 내부 Ajax 탭 또는 모달 팝업을 제거하고 다른 검사 등을 수행합니다.
맞아요, 제 코드가 왜 갑자기 작동을 멈췄는지 알아보려고 2시간이나 허비했어요...
수정된 코드를 너무 많이 지우고 업데이트 패널에서 닫기를 제거했습니다.
<asp:UpdatePanel ID="submitupdatepanel" runat="server">
<ContentTemplate>
<div class="block" style="height: 60px; width: 400px;">
<div class="centered">
<asp:LinkButton ID="submitbutton" runat="server" CssClass="button_red2 " Text=" <span>Submit </span>">
</asp:LinkButton>
<asp:LinkButton ID="cancelbutton" runat="server" CssClass="button_gray2 " Text=" <span>Cancel</span>" Visible="false" OnClientClick="window.close()">
</asp:LinkButton>
</div>
</ContentTemplate>
</asp:UpdatePanel>
<br />
<div style='display: none'>
<asp:UpdatePanel runat="server">
<ContentTemplate>
<asp:PlaceHolder ID="myhiddenpopups2" runat="server" Visible="true"></asp:PlaceHolder>
</ContentTemplate>
</asp:UpdatePanel>
</div>
그리고 나서 그 아래 숨겨진 업데이트 패널 부분에서 동일한 오류를 발생시켰습니다.
실종자를 다시 집어넣은 후에 알은 정상 상태로 돌아갔습니다.
<asp:UpdatePanel ID="submitupdatepanel" runat="server">
<ContentTemplate>
<div class="block" style="height: 60px; width: 400px;">
<div class="centered">
<asp:LinkButton ID="submitbutton" runat="server" CssClass="button_red2 " Text=" <span>Submit </span>">
</asp:LinkButton>
<asp:LinkButton ID="cancelbutton" runat="server" CssClass="button_gray2 " Text=" <span>Cancel</span>" Visible="false" OnClientClick="window.close()">
</asp:LinkButton>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
<br />
<div style='display: none'>
<asp:UpdatePanel runat="server">
<ContentTemplate>
<asp:PlaceHolder ID="myhiddenpopups2" runat="server" Visible="true"></asp:PlaceHolder>
</ContentTemplate>
</asp:UpdatePanel>
</div>
누군가에게 도움이 되길 바랍니다.
웹 컨트롤이 포함된 초기 탭에서 업데이트 패널을 제거하여 문제를 해결했습니다.저는 이것이 왜 문제를 일으켰는지 확실하지 않습니다. 그래서 만약 누군가가 그것을 설명할 수 있다면, 저는 그것에 대해 알고 싶습니다.
예를 들어, 저는 원래 이것을 가지고 있었습니다.
<cc1:TabContainer ID="TabContainer1" runat="server" ActiveTabIndex="0" OnClientActiveTabChanged="TabContainer1_OnChanged" Visible="true" >
<cc1:TabPanel runat="server" ID="TabPriorities">
<HeaderTemplate>Manage Prioritys</HeaderTemplate>
<ContentTemplate>
<asp:UpdatePanel ID="UpdatePanelPriorities" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<uc1:PriorityGrid ID="PriorityGrid1" runat="server" />
</ContentTemplate>
</asp:UpdatePanel>
</ContentTemplate>
</cc1:TabPanel>
그리고 다음으로 변경했습니다.
<cc1:TabContainer ID="TabContainer1" runat="server" ActiveTabIndex="0" OnClientActiveTabChanged="TabContainer1_OnChanged" Visible="true" >
<cc1:TabPanel runat="server" ID="TabPriorities">
<HeaderTemplate>Manage Prioritys</HeaderTemplate>
<ContentTemplate>
<uc1:PriorityGrid ID="PriorityGrid1" runat="server" />
</ContentTemplate>
</cc1:TabPanel>
그리고 그것은 Ajax 탭과 모달 팝업을 포함하는 사용자 컨트롤에서 발생하는 스크립트 오류를 해결했습니다.
내 페이지에는 몇 개의 업데이트 패널이 있습니다.모든 오류가 표시되고 표시되지 않는지 확인하여 이 오류를 해결했습니다. 없음.
페이지의 원본을 보고 오류가 제공하는 ID를 검색하여 오류가 발생한 패널을 찾을 수 있습니다.
이 문제는 닫히지 않은 태그 또는 누락된 끝 태그로 인해 발생할 수 있습니다.
저의 경우 페이지에 2개의 업데이트 패널이 있었지만, 그 중 1개만 ID를 가지고 있었습니다.다른 하나의 ID를 설정하면 오류가 해결되었습니다.
편집: UpdateMode="Conditional"에서 업데이트 패널로 작업하는 동안 발견한 몇 가지 새로운 사항을 바탕으로 답변을 수정하고 싶습니다.
이것은 여전히 위의 오류가 발생하는 OP의 문제를 해결하는 맥락입니다.
시나리오는 여러 개의 중첩된 하위 업데이트 패널이 있는 상위 업데이트 패널이 있는 경우입니다.
<asp:UpdatePanel ID="upParent" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<%-- Header Content --%>
<asp:UpdatePanel ID="upChild1" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<%-- Child1 Content --%>
</ContentTemplate>
</asp:UpdatePanel>
<asp:UpdatePanel ID="upChild2" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<%-- Child2 Content --%>
</ContentTemplate>
</asp:UpdatePanel>
<asp:Button ID="btnEditMode" runat="server" Text="Edit" OnClick="btnEditMode_Click"></asp:Button>
</ContentTemplate>
</asp:UpdatePanel>
편집 버튼을 사용하여 두 하위 업데이트 패널의 내용을 변경하고 문제를 일으키지 않고 전체 상위 업데이트 패널을 새로 고치려면 비동기식 포스트백을 수행하는 것이 좋습니다.
<asp:UpdatePanel ID="upParent" runat="server" UpdateMode="Conditional">
<Triggers>
<asp:AsyncPostBackTrigger ControlID="btnEditMode" EventName="Click" />
</Triggers>
<ContentTemplate>
<%-- Header Content --%>
<asp:UpdatePanel ID="upChild1" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<%-- Child1 Content --%>
</ContentTemplate>
</asp:UpdatePanel>
<asp:UpdatePanel ID="upChild2" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<%-- Child2 Content --%>
</ContentTemplate>
</asp:UpdatePanel>
<asp:Button ID="btnEditMode" runat="server" Text="Edit" OnClick="btnEditMode_Click"></asp:Button>
</ContentTemplate>
</asp:UpdatePanel>
이것은 저에게 효과가 있습니다. 위에서 언급한 (OP) 오류가 더 이상 발생하지 않습니다.흥미롭게도, OP의 시나리오와 거의 유사하게, 저는 Ajax 탭 컨트롤로 작업을 해왔고 각 탭에는 하위 업데이트 패널이 포함되어 있었습니다.바로 여기에서 동일한 오류 메시지가 발생하고 비동기식 포스트백 트리거를 추가하여 해결했습니다.
언급URL : https://stackoverflow.com/questions/3928253/could-not-find-updatepanel-with-id-xxx-if-it-is-being-updated-dynamically-the
'bestsource' 카테고리의 다른 글
문자열에 유니코드 문자가 포함되어 있는지 확인하는 방법은 무엇입니까? (0) | 2023.08.27 |
---|---|
jquery 3.0 url.indexOf 오류 (0) | 2023.08.27 |
jQuery로 인증을 위한 AJAX 호출 암호화가 가능합니까? (0) | 2023.08.27 |
'object' 유형의 다른 지원 개체 '[objectObject]'을(를) 찾을 수 없습니다.NgFor는 어레이와 같은 반복 가능한 파일에 대한 바인딩만 지원합니다. (0) | 2023.08.27 |
기존 항목을 폴더로 덮어쓰려면 어떻게 해야 합니까?여기 PowerShell에서 복사하시겠습니까? (0) | 2023.08.27 |