2010-02-10 133 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");