2012-12-21 110 views
6

如何在不重新發送POST數據的情況下刷新並重新加載頁面?刷新頁面,無需重新發送POST數據(ASP.NET)

我試過location.reload()它在Chrome上運行得非常好(這是開發時的測試環境)。但IE和Firefox進入JS的無限循環 - 重新發布大量垃圾/重複數據。

注意:但是,我只是想刷新頁面以清除所有表單內容。提交後我還註冊了一個啓動腳本,它將顯示警報消息,說明數據已成功添加。

幫助!

+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

我試着重新加載,並重新加載(true)兩個不完全做我想要的。

我見過的定位對象有其他的方法(除了重裝),因爲我想請求在「得到」的頁面我只是做:

location.assign(window.location); 

到目前爲止,似乎在做我想要什麼,重新加載相同的頁面而不再提交值。我的用例是在會話過期時對服務器的ajax調用。我顯示一條錯誤消息,指出會話丟失,然後我希望重新加載頁面。

相關問題