0

GridView の列の 1 つは、「ViewProfile」という CommandField ボタンです。

「ViewProfile」ボタンがクリックされると、イベント ハンドラ「MyGridView_RowCommand(...)」が別のページ「ViewUserProfile.aspx」にリダイレクトします。

「ViewProfile」をクリックして「UserProfile.aspx」にリダイレクトされたら、戻るボタンを押します。

「ViewUsers.aspx」に戻ったので、グリッド ビューの一部ではない他のボタンをクリックします。

ここにバグのある部分があります...「MyGridView_RowCommand(...)」イベントは、「ViewProfile」ボタンがクリックされたことを示すイベント引数で発生します! はい。(リダイレクト後に) ページに戻るときに、GridView 内にないボタンをクリックすると、何らかの方法で RowCommand イベントが発生します。ブラウザを更新するまで、奇妙な動作が続きます。

これを修正する方法を知っている人はいますか?

4

1 に答える 1

0

キャッシュされたバージョンがロードされたと思います。このページのキャッシュを無効にすることができます:

Page_Load:

Response.Cache.SetCacheability(HttpCacheability.NoCache);

または、次のメタ タグを aspx ページに追加します。

<meta http-equiv="pragma" content="no-cache" />

または、window.onbeforeunloadイベントを aspx ページに追加します。

window.onbeforeunload = function () {
   // This function does nothing.  It won't spawn a confirmation dialog
   // But it will ensure that the page is not cached by the browser.
}
于 2011-06-27T16:33:03.267 に答える