2008-09-18 4 views
0

"Works on My Machine Certification Program"에 대한 좋은 후보입니다.프로덕션 서버에서 LinkButton이 실행되지 않음

나는

<cc1:PopupDialog ID="pdFamilyPrompt" runat="server" CloseLink="false" Display="true"> 
    <p>Do you wish to upgrade?</p> 
    <asp:HyperLink ID="hlYes" runat="server" Text="Yes" CssClass="button"></asp:HyperLink> 
    <asp:LinkButton ID="lnkbtnNo" runat="server" Text="No" CssClass="button"></asp:LinkButton> 
</cc1:PopupDialog> 

그것은 단순히 이전과 팝업 대화로 포맷 할 내용 이후에 코드를 추가하는 사용자 지정 컨트롤을 사용하여 ...하는 LinkButton을 위해 다음과 같은 코드가 있습니다. 버튼은 javascript를 실행하여 대화 상자를 숨기고 다른 대화 상자를 표시하기 때문에 하이퍼 링크입니다. 아니요 버튼은이 값을 처리하기 위해 포스트 백해야하기 때문에 LinkButton입니다.

IsPostBack이 true인지 단순히 확인하기 때문에 LinkClick에 등록 된 onClick 이벤트가 없습니다. 로컬에서 실행될 때 PostBack은 정상적으로 작동하고 모두 정상적으로 작동합니다. 개발 서버에 게시 할 때 아니요 버튼을 클릭해도 아무런 반응이 없습니다. 개발 용 서버 대 로컬로 테스트 할 때 동일한 브라우저를 사용하고 있습니다.

필자의 초기 생각은 아마도 유효성 검사기가 포스트 백이 발생하지 못하도록하는 것입니다. 페이지의 다른 섹션에서 두 개의 유효성 검사기를 사용하지만 모두 아니요 LinkButton이 지정되지 않은 특정 유효성 검사 그룹에 할당됩니다. 그러나 문제는 개발 서버가 아닌 로컬에서 작동하는 이유입니다.

아이디어가 있으십니까?

답변

1

프로덕션에서 생성 된 html을 확인하고 __doPostback()이 있는지 확인하고 이벤트를 클릭하고 취소하는 전역 메소드가 없음을 확인하십시오. 그 이외의 경우 유효성 검사와 관련이있을 수 있다고 생각한다면 CausesValidation을 추가하거나 false에 무엇이든 시도해보고 도움이되는지 확인하십시오. 그렇지 않으면 "내 컴퓨터에서 작동합니다"오류는 DEV vs PROD의 구성을 알지 못하고 디버깅하기가 어렵습니다.

+0

이렇게하면 문제가 해결됩니다. 나는 "Works on My Machine"문제가 중복되는 것을 압니다. 내 로컬 서버와 개발 서버의 차이점에 관한 이론은 이러한 유형의 문제를 일으킬 수 있습니까? – Chris

0

내가 ValidationGroup을 이해했다는 것은 그룹이 지정되지 않은 버튼이 페이지의 모든 유효성 검사기를 트리거한다는 것입니다. LinkButton에 다른 ValidationGroup을 주려고 했습니까?

1

비슷한 문제가있었습니다. 폼에 modalpopup Ajax Extender를 열 수있는 linkbuttons가있는 updatePanel을 사용하여 폼을 만들었습니다. 그들은 사이트에 인증을 추가 할 때까지 제대로 작동했습니다. 그 후에 그들은 전혀 아무것도하지 않았다.

당신의 솔루션을 읽다 내가 링크 버튼의 일부가 CausesValidation을 명시 적으로 설정 한 것으로 나타났습니다. (나는 그것을 사실로 만들 것입니다.) CausesValidation = "false"를 다른 모든 linkbutton에 추가하면 인증 후 올바르게 작동 할 수있었습니다.

의견을 보내 주셔서 감사합니다.

+0

나를 위해 일했습니다! – Arbaaz

관련 문제