如何在ASP.NET中刷新页面?(通过代码使其重新加载)

11 浏览
0 Comments

如何在ASP.NET中刷新页面?(通过代码使其重新加载)

在ASP.NET中如何刷新页面?(通过代码让页面重新加载)\n我不想使用Response.Redirect(),因为我不知道我将位于哪个页面,因为它位于SharePoint中的一个用户控件内的一个Web部件内。

0
0 Comments

在ASP.NET中如何刷新页面?(用代码让其自动重新加载)

问题出现的原因:

在页面渲染给客户端后,只有两种方法可以强制刷新。一种是使用JavaScript的setTimeout函数,另一种是使用Meta标签的http-equiv属性。

解决方法:

1. 使用JavaScript的setTimeout函数:

setTimeout("location.reload(true);", timeout);

需要在服务器端设置刷新时间间隔。

2. 使用Meta标签:

<meta http-equiv="refresh" content="600">

需要在服务器端设置刷新时间间隔。

3. 在.NET中使用Server.TransferRequest:

请参考下面的答案,这是在.NET中实现这一功能的好方法,使用Server.TransferRequest

4. 使用Response.Redirect:

对于未使用服务器端支持的页面,这种方法可能是正确的,但对于指定的.NET,正确的方法是使用Response.Redirect。

0
0 Comments

这是一个ASP.NET中的问题,用户想要通过代码让页面刷新自身。解决方法是使用Server.TransferRequest来实现,而不是使用Response.Redirect。使用Server.TransferRequest只需要一次请求,而Response.Redirect需要两次请求。

具体解决方法如下:

在ASPX页面的源代码中添加以下代码:Server.TransferRequest(Request.Url.AbsolutePath, false);即可实现页面刷新。

这个方法在一些情况下比Response.Redirect更有效,特别是在Response.Redirect无法正常工作的情况下。

需要注意的是,使用Server.TransferRequest并不能清除页面的状态,例如TextBox.Text属性或Button.Visible属性。

至于在ASPX页面的源代码中的具体位置,用户没有提供明确的指示。

0
0 Comments

ASP.NET中如何刷新页面?(通过代码重新加载页面)

在我的用户控件中,更新数据后我使用以下代码来刷新页面:

  Response.Redirect(Request.RawUrl);    

这确保页面被重新加载,并且在用户控件中运行良好。使用RawURL而不是Request.Url.AbsoluteUri是为了保留请求中可能包含的所有GET参数。

你可能不想使用__doPostBack,因为许多aspx页面在进行PostBack时的行为不同。

你会使用第二个参数Response.Redirect(Request.RawUrl, false)吗?显然,在使用reponse.redirect时这是最佳实践。你怎么看?

我个人从未使用过第二个参数,并且也从未因此遇到过任何问题,所以我不确定它能带来什么好处。但是根据文档,如果你打算调用CompleteRequest,你应该使用第二个参数,但我从未费心去使用过。

有时,当当前页面有一个Id参数(比如stackoverflow上的questionId)时,你可能需要使用AbsoluteUri。或者我理解错了吗?

是的,如果你不需要停止页面上的所有处理(这有时表明设计规划不良),你应该将false作为第二个参数传递。不传递第二个参数,或者传递true,会引发一个HttpException,并可能影响性能并填满事件日志。

0