単一のページを使用する ASP.NET Web アプリがありますが、ワークフロー全体で一部のコントロールを非表示にし、他のコントロールを表示します。これは非常に単純なアプリケーションであるため、使用するページは 1 つだけです。
ユーザーがキャンセル ボタンをクリックしたとき、またはワークフローを完了したときにページをリロードする方法がわかりません。お申し込みの流れを詳しくご紹介します...
- このページは、従業員名のドロップダウン リスト、選択した従業員のピン番号を入力するピンパッド、およびログイン ボタンを含む LoginTable コントロールをロードして表示します。
- ログイン ボタンをクリックすると、ピンが検証された場所でポストバックが発生し、有効な場合は、ページ コンテンツのほとんど (ヘッダーを除く) を保持するテーブル コントロールが非表示になり、現在の状態に応じて新しいテーブル コントロールが表示されます。ステータス (出勤または退勤)。
- この時点で、ClockInTable または ClockOutTable コントロールが表示され、LoginTable コントロールは表示されません。ユーザーは、[キャンセル] ボタンまたは [出勤/退出] ボタンをクリックできます (勤務地や仕事など、出勤する場合に選択するその他の項目がいくつかあります)。
私が望むのは、ユーザーがキャンセル、クロックイン、またはクロックアウトのいずれかのボタンをクリックすると (ポストバックで他の処理が行われた後)、ページが新しいセッションで再度読み込まれ、ユーザーが持っているかのようにメインの LoginTable が再び表示されることです。ブラウザを再起動し、初めてページを開きました。
Session.Abandon() を使用してみましたが、Global.asax Session_End イベントで Response.Redirect("Login.aspx"); を実行します。
ただし、これは機能しません。ページの同じビューを再読み込みするだけです。
最初のアクセス (つまり、ポストバックではない) のようにページをリロードする (ページを更新しない) 方法を教えてください。
また、私は ASP.NET を初めて使用するので、セッションのしくみを誤解している場合はお知らせください。