2012-05-23 7 views
2

WebGi의 ShowDialog 문제를 해결하는 가장 좋은 방법은 무엇입니까?WebGui의 ShowDialog가 응답을 기다리지 않습니다.

두 개의 양식이 있습니다. MainForm i LogonForm. MainForm의 페이지로드시 사용자가 db에 연결하기 위해 ShowDialog를 통해 LogonForm을 표시하려고합니다. 결과가 정상이면 나머지 메인 폼이로드됩니다.

그러나 Webgui ShowDialog에서는 WinForms와 다르게 작동합니다. LogonFrom을 표시 한 후 응답을 기다리지 않습니다 (응답이 좋지 않음).

어떻게 해결할 수 있습니까?

답변

2

웹 사이트의 특성상 전체로드 메소드가 완료되어야 클라이언트에 보낼 수있는 것이 있습니다. 이론적으로 전체 페이지를 만들고, 모든 내용을 숨긴 다음 로그인 성공 후 표시 할 수는 있지만 여전히 페이지의 모든 정보를 클라이언트에 보내야하고, 어느 정도 알기 쉬운 사용자라면 원하는 경우 모든 콘텐츠를 볼 수 있습니다.

대화 상자 아래의 페이지에서 아무 것도 생성하지 말고 사용자가 로그인 팝업에서 '제출'(또는 무엇이든) 버튼을 누르면 서버에 새 요청을 보내야합니다. 클라이언트 측을 처리하려고 시도하는 것보다) 사용자를 인증하고 적절한 경우 홈페이지로 리디렉션하십시오.

이제 정상적으로 사이트에는 일반 페이지로 이동하는 별도의 로그인 페이지 만 있습니다. 당신이 할 수있는 팝업을 원한다면, 그것은 팝업없이 성공적으로 로그인 할 때 완전히 새로운 페이지로 리다이렉트하는 빈 사이트의 상단에있는 팝업 일뿐입니다.

웹 환경은 기본적으로 데스크톱 응용 프로그램과 다르며 프로그래머로서 중요한 패러다임 전환이 필요합니다. 폼로드를 차단한다는 것은 사용자가 결코 교착 상태가되는 것을 볼 수 없기 때문에 솔루션은 "팝업이 완료 될 때까지 양식로드를 차단하는 방법"이상의 것입니다.

관련 문제