2012-12-21 60 views
6

POSTデータを再送せずにページをリフレッシュして再ロードする方法は?POSTデータを再送せずにページをリフレッシュする(ASP.NET)

私はlocation.reload()を試してみましたが、これはChromeで絶対に問題なく動作しています(開発中のテスト環境)。しかし、IEとFirefoxはJSのInfinite Loopに入り、多くの迷惑メール/複製データを再投稿しました。

注:ただし、フォームの内容をすべて消去するようにページを更新したいだけです。送信後に、データが正常に追加されたというアラートメッセージが表示されます。

HELP!

+0

あなたは通常、またはJavaScript/AJAXによってページを投稿していますか? –

答えて

6
location.href = location.href + '?' + Math.random(); 

これは動作するはずです。

+0

+1ですが、 '?'すべての準備がhrefに存在します。 – Aristos

13

この試してみてください:あなたのコードの追加で

window.location.href = window.location.href; 
+1

ありがとうございます。これは私を助けました。 – ShaileshDev

4

:あなただけのフォームをクリアしたい場合は

Response.Redirect(Request.RawUrl) 
2

を、なぜ:

<input type="reset" value="Clear Fields"> 

また、それを行うことができます使用:

document.getElementById('<%=form1.ClientID%>').reset(); 

他にも何かをする必要がない限り、ページをリロードするのに無駄です。

+0

@Aristos - ありがとう、良い点、私のポストを更新しました。 – webnoob

1

は、以下を追加します。

Server.Transfer(Request.RawUrl);

1

以下はあなたの問題を解決します:

Server.Transfer(Request.RawUrl); 
0

使用location.reload(true)を。この「ハード」でページがリロードされます..

0

私はリロードも試してみました。私はちょうどでした「GET」にページを要求したかったので、私はその場所のオブジェクトを見てきました

は(リロードよりも)他の方法があります:

location.assign(window.location); 

は、これまでのところ、私が欲しいものをやっているように見えます、再度値を送信せずに同じページをリロードします。私のユースケースは、セッションが終了したときにサーバーへのajax呼び出しです。セッションが失われたというエラーメッセージが表示された後、ページをリロードするようにします。

関連する問題