3

login.aspx ページがあります。ログインが成功すると、FirstPage.aspx などの別のページに検証があり、検証が失敗すると、ページは"login.aspx?status=false"にリダイレクトされます。次に、Login.aspx ページでエラー メッセージにラベルが割り当てられ、表示されます。ここで、ブラウザの更新ボタンをクリックすると、URL が「login.aspx」に変更される必要があります。

これを達成する方法。どんな助けでも大歓迎です。

前もって感謝します

4

1 に答える 1

1

これは、いくつかの方法で行うことができます(ページの更新を検出します)。「ページの更新の検出::クライアント側でのJavaScriptの使用」を参照してください。

最も簡単なアプローチは、非表示のフォーム変数を使用することのようです。どうやら、フォーム変数はほとんどの最新のブラウザによってページの更新全体で維持されます。JavaScriptで非表示フィールドの値を更新することにより、これを利用してページが更新されたことを検出できます。

<input type="hidden" name="visited" value="" />

if( document.refreshForm.visited.value == "") {
    // This is a fresh page load
    document.refreshForm.visited.value = "1";
} else {
    // This is a page refresh
    // either redirect to login.aspx, or just update the page accordingly
}

ページの更新を検出したときにユーザーをリダイレクトするか、それに応じてページの外観を変更することをお勧めします(これにより、ページの余分な更新が防止されます)

于 2011-07-07T15:39:37.740 に答える