매우 복잡한 필터링 된 검색 페이지가있는 C# .net 4.0 웹 사이트 프로젝트가 있습니다. 리피터 내에 추가 된 UpdatePanel은 여러 개 있습니다. 하나의 UpdatePanel이 포스트 백을 수행하면 다른 모든 UpdatePanels도 동시에 포스트 백합니다.모든 UpdatePanels가 동시에 게시됩니다.
사용자가 보려는 항목의 수에 따라 많은 UpdatePanels가있을 수 있으므로 문제가됩니다. 나는 UpdatePanels가 이상하지 않다는 것을 안다 - 나는 이것을 쓰지 않았다. 그러나 그것을 빨리 고치려고 노력해야한다!
리피터 컨트롤이있는 UpdatePanel이있는 LandingPage가 있습니다. 리피터에는 Article이라는 사용자 정의 컨트롤이 있습니다. 아티클 컨트롤에는 저장이라는 HTML과 두 번째 사용자 컨트롤이 포함되어 있습니다. 저장 컨트롤에는 UpdatePanel도 있습니다.
내가 가진 문제는 첫 번째 btnSave 이벤트 만 발생한다는 것입니다. 따라서 "btnSave"를 클릭하면 작동하지만 이후의 모든 버튼 클릭 이벤트는 발생하지 않습니다.
동시에 Save 컨트롤 포스트 백의 UpdatePanel 인스턴스가 모두 이와 같은 현상이 나타났습니다.
그래서 페이지의 단순화 된보기과 같이이다 :
LandingPage.aspx
<asp:UpdatePanel ID="pnl" runat="server" UpdateMode="Conditional" ChildrenAsTriggers="false">
<ContentTemplate>
<asp:Repeater ID="resultsRep" runat="server">
<ItemTemplate>
<uc:Article id="Article1" runat="server" />
</ItemTemplate>
</asp:Repeater>
<asp:Button id="btnLoadMore" runat="server" Text="Load More" />
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="btnLoadMore" EventName="Click" />
</Triggers>
<asp:UpdatePanel>
에게 사용자 정의 사용자 제어 "조"
<asp:PlaceHolder ID="ArticlePanel" runat="server">
<!-- Assorted HTML stuff here -->
<uc:Save id="Save1" runat="server" />
</asp:PlaceHolder>
사용자 정의 사용자 제어 '저장'
<asp:UpdatePanel ID="ctl" runat="server" UpdateMode="Conditional" ChildrenAsTriggers="True">
<ContentTemplate>
<asp:LinkButton ID="btnSave" runat="server" OnClick="btnSave_Click" CausesValidation="False" Text="Save" />
</ContentTemplate>
</asp:UpdatePanel>
언제나처럼 미리 감사드립니다. 그래서 어떻게 든 난 다시 게시하고 보인다
505|error|500|Invalid postback or callback argument.
Event validation is enabled using <pages enableEventValidation="true"/> in configuration or <%@ Page EnableEventValidation="true" %> in a page.
For security purposes, this feature verifies that arguments to postback or callback events originate from the server control that originally rendered them.
If the data is valid and expected, use the ClientScriptManager.RegisterForEventValidation method in order to register the postback or callback data for validation.|
을 :
편집
추가 조사 후, 파이어 버그 콘솔을 사용하여 나는 다음과 같은 오류가 발생하기 때문에 후속 포스트 백 발생하지 않는 것을 발견 뭔가 사납다?
나는 단지 그 UpdatePanels이 악하다고 덧붙이고 싶다.나는 jQuery AJAX와 ASHX 핸들러를 사용하는 것을 선호한다 - 간단하고 유연하다. –