1

Javascript?

元标记刷新?

Response.Redirect(到自己)

Server.Transfer(给自己)

Ajax 更新面板?

4

6 回答 6

3

让我们看看选项:

Javascript?

只要用户没有禁用它,它就可以正常工作。

元标记刷新?

支持 Javascript 方法的已弃用方法。但是,如果用户禁用了 Javascript,您可以将其用作备份。

Response.Redirect(到自己)

这不起作用,因为浏览器在重定向时不会显示对用户有用的任何内容。此外,浏览器将在一定数量的重定向后停止请求,以保护用户免受无限重定向。

Server.Transfer(给自己)

也不起作用,因为服务器上的代码只会循环而不向浏览器发送任何内容。效果与代码中只有一个循环相同。

Ajax 更新面板?

工作正常,只要用户没有禁用 Javascript。它与第一个选项基本相同,只是 Javascript 自己执行请求,而不是让浏览器执行请求。

于 2009-05-23T17:34:50.247 回答
3

如果您可以向用户报告任何类型的进度,我倾向于使用 asxh 和永久框架的变体来运行。添加一点jQuery UI DialogjQuery UI Progress Bar,当你在服务器上做繁重的工作时,你就有了一种吸引用户注意力的闪亮方式。

我在874204给出了一些示例代码来演示该技术。

如果您无法为用户提供进度,我倾向于仍然使用 UI 对话框并弹出一条“请稍候,正在处理...”消息,并带有一个 web 两点哦兼容的 spinny gif。

于 2009-05-24T03:08:00.680 回答
2

查看这篇关于异步页面的文章。这里还有一个来自CodeProject的示例,其中包括异步页面和 META-REFRESH。

于 2009-05-23T17:31:47.163 回答
1

您可以在 Beer House Starter Kit- http://www.asp.net/Downloads/starter-kits/the-beer-house/中找到此类功能的示例实现。

SendingNewsLetter.aspx 和 SendNewsLetter.aspx 页面将对您有用。不过,这可能对您的需要有点过分——它甚至显示了长时间运行的操作的进度。

于 2009-05-23T17:41:28.113 回答
1

使用 AJAX WebModalAnchor弹出一个带有取消按钮的窗口怎么样?

希望这可以帮助,

账单

于 2009-05-23T17:56:12.943 回答
0

我建议使用 Ajax 并显示一个 UpdateProgress,这样用户就知道它仍在流失。

于 2009-05-23T17:35:00.700 回答