2

webguiのShowDialogの問題を解決するための最良の方法は何ですか?

2つのフォームがあります。MainFormiLogonForm。MainFormのページ読み込み時に、ユーザーがdbに接続できるように(ShowDialogを介して)LogonFormを表示したいと思います。結果に問題がなければ、残りのメインフォームが読み込まれます。

ただし、webguiでは、ShowDialogの動作はWinFormsの場合とは異なります。そして、LogonFromを表示した後、応答を待機しません(したがって、応答はOKではありません)。

どうすれば解決できますか?

4

1 に答える 1

2

Webサイトの性質上、クライアントに何かを送信する前に、Loadメソッド全体を完了する必要があります。理論的には、ページ全体を作成し、すべてのコンテンツを非表示にして、ログインに成功した後に表示することもできますが、それでも、ページのすべての情報をクライアントと適度に精通したユーザーに送信する必要があります。必要に応じて、そのすべてのコンテンツを表示できます。

ダイアログの下のページに何も生成しないようにする必要があります。ユーザーがログインポップアップの[送信](またはその他)ボタンを押したときに、サーバーに新しいリクエストを送信する必要があります(処理しようとするのではありません)。クライアント側)ユーザーを認証し、必要に応じて、ユーザーをホームページにリダイレクトします。

これで通常、サイトには通常のページに移動する別のログインページがあります。ポップアップが必要な場合は可能ですが、それは空白のサイトの上にポップアップが表示され、ポップアップなしで完全に新しいページにリダイレクトされます(ログインが成功した場合)。

Web環境は本質的にデスクトップアプリケーションとは異なり、プログラマーとしてのあなたにとって大きなパラダイムシフトを必要とします。フォームの読み込みをブロックすると、ユーザーには何も表示されない(デッドロックが発生する)ため、解決策は「ポップアップが完了するまでフォームの読み込みをブロックする方法」だけではありません。

于 2012-05-23T14:18:29.843 に答える