문제

페이지에 있는 모달 팝업의 업데이트 패널 내에 그리드뷰가 있습니다.
문제는 그리드뷰 내에 있는 이미지 버튼을 클릭할 때마다 전체 페이지가 새로 고쳐진다는 것입니다.이로 인해 전체 페이지가 로드되고 사용자가 클릭할 수 없도록 페이지의 나머지 부분을 회색으로 표시했기 때문에 이는 매우 짜증나는 일입니다.

내가 무엇을 놓치고 있는지 아는 사람이 있나요?

편집하다: 하단에 더 나은 솔루션을 입력했습니다.

도움이 되었습니까?

해결책 5

몇 달 후에 이 문제가 해결되었습니다.제가 작업하고 있던 프로젝트는 이전 v1.1을 2.0으로 변환한 것이었습니다.그러나 web.config에는 다음 줄이 남아 있습니다.

<xhtmlConformance mode="Legacy"/>

주석을 달았을 때 Ajax 제어 툴킷에 있었던 것으로 보였던 모든 버그가 사라졌습니다.

다른 팁

UpdatePanel에 다음이 설정되어 있는지 확인하세요.ChildrenAsTriggers=false 및 UpdateMode=조건부

UpdatePanel에 ChildrenAsTriggers="false"가 있습니까?

페이지에 자바스크립트 오류가 있나요?

나는이 문제를 겪었고 다음 기사를 발견했습니다.

http://bloggingabout.net/blogs/rick/archive/2008/04/02/linkbutton-inside-updatepanel-results-in-full-postback-updatepanel-not-triggered.aspx

내 버튼은 이 예제와 같이 코드에서 동적으로 생성되지 않았지만 aspx에서 코드를 확인했을 때 ID 속성이 누락되었습니다.ID를 추가하면 포스트백이 비동기화되어 예상대로 작동하기 시작했습니다.

요약하면 버튼에 ID가 있는지 확인하세요!

Firefox나 IE에서 테스트하고 있나요?Firefox(IE는 아님)에서 전체 페이지가 새로 고쳐지는 비슷한 문제가 있습니다.이 문제를 해결하기 위해 useSubmitBehavior="false"가 설정된 숨겨진 asp:button을 사용합니다.

<asp:Button ID="btnRefresh" runat="server" OnClick="btnRefresh_Click" Style="display: none" UseSubmitBehavior="false" />

IE Modal 창을 사용하여 Modal 창이 팝업됩니까?아니면 당신이 보여주는 DIV입니까?

IE 모달 팝업인 경우 다음을 확인해야 합니다.

   <base target="_self" /> 

게시물이 모달 페이지에 있는지 확인하십시오.

DIV인 경우 XHTML이 올바른지 확인하세요. 그렇지 않으면 무엇을 업데이트해야 할지 모를 수도 있습니다.

onClick을 그대로 두고 updatePanel의 트리거로 설정하겠습니다.

IE가 아닌 FF에서는 작동한다는 것이 이상합니다.그것은 우리가 경험하는 행동과 반대입니다.

UpdatePanel은 잘못된 HTML에 민감할 수 있습니다.브라우저에서 소스 보기를 수행하고 W3C 유효성 검사기와 같은 것을 통해 실행하여 이상한 점(닫히지 않은 div 또는 테이블이 일반적인 용의자임)을 찾습니다.

Firefox를 사용하는 경우 매우 훌륭하게 작동하는 HTML 유효성 검사기 확장/추가 기능을 사용할 수 있습니다.

참고로..

나는 또한 Dreaded를 사용할 때 알아차렸습니다. <asp:UpdatePanel ... /> 그리고 <asp:LinkButton ... />, 그것도 그렇고 UpdateMode="Conditional"UpdatePanel 다음과 같은 다른 변경이 필요합니다.

  • ViewStateMode="Enabled" 에 필요합니다 <asp:Content ... /> (저는 이렇게 설정했어요 Disabled 에서 MasterPage)
  • ClientIDMode="Static" 에서 제거되어야 했다 <%@ Page ... />

포스트백을 방지하려면 onclick 이벤트에 return false를 추가하세요.

Button.attribute.add("onclick","return false;");

견본:

string PopupURL = Common.GetAppPopupPath() + "Popups/StockChart.aspx?s=" + symbol;
hlLargeChart.Attributes.Add("onclick", String.Format("ShowPopupStdControls(PCStockChartWindow,'{0}');return false;", PopupURL));
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top