2010-02-10 157 views
31

是否有頁面刷新類型的命令來刷新頁面?刷新頁面C#ASP.NET

我不想重定向到頁面或在JavaScript中刷新。

+0

你想要一個完整的頁面循環嗎?如果是這樣,所提供的解決方案應該工作然而,你說你不想重定向......所以我不確定你想要發生什麼。 – 2010-02-10 21:03:54

+0

謝謝克里斯。費爾明釘了它。 – Eric 2010-02-10 21:09:06

回答

69

我想這應該做的伎倆(未經測試):

Page.Response.Redirect(Page.Request.Url.ToString(), true); 
+0

我知道這個帖子很久以前。但我剛碰到它,我想知道爲什麼你的第二個參數是「真」。據我所知,使用Response.Redirect時,最好的做法實際上是「假」。你怎麼看? – aleafonso 2012-02-16 09:40:19

+1

一般來說,「false」是更好的做法,因爲「true」導致拋出ThreadAbortException,這是非常昂貴的。一如既往,這取決於你的要求。 – Fermin 2012-02-16 10:10:43

+0

偉大的解決方案:) – 2013-05-16 10:51:20

6
Response.Redirect(Request.Url.ToString()); 
+8

注意可以用來做XSS攻擊。你盲目地信任用戶的URL。你最好做Response.Redirect(「〜AbsolutePage.aspx」); – 2010-02-10 21:05:19

+3

有人能告訴我這將如何用於做XSS?它重定向到當前頁面,並且不能超出此頁面允許的範圍,不是? – 2011-06-30 17:09:46

+0

這是當前頁面的URL,而不是一個返回URL查詢字符串參數..我在這裏也沒有看到XSS。 – markt 2011-06-30 20:19:25

4

你可以做一個定期回發刷新頁面,如果你不想重定向。從任何控件回發將運行頁面生命週期並刷新頁面。

要做到這一點,你可以調用__doPostBack()函數。

+1

-1阿斯克爾說沒有Javascript – 2010-02-10 21:04:28

+2

哇,苛刻。相當自由的貶低那裏嘿?他還表示沒有重定向,完全不在其他答案中。 – womp 2010-02-10 21:06:08

+1

我沒有找到有用的答案,所以我點擊向下的箭頭。這正是我所做的。沒有冒犯的意思! – 2010-02-11 00:06:40

-5

刷新整個頁面,但它正常工作:

Response.Redirect(url,bool) 
+5

歡迎來到堆棧溢出!你能解釋一下「正常」的意思嗎?細節對於過來的人來說非常棒,以後再見! – tmesser 2012-10-26 17:26:18

0

用途:

Response.Redirect(Request.RawUrl, true); 
12

慎用重寫URL,雖然。我使用這個,所以它保留了URL的重寫。

Response.Redirect(Request.RawUrl); 
-2

調用的Page_Load功能:

Page_Load(sender, e);

0

我用

Response.Redirect(Page.Request.Path); 

如果你有來檢查Request.Params頁面時低於刷新使用。這不會將Request.Params重寫爲URL。

Response.Redirect(Page.Request.Path + "?Remove=1");