经典ASP页面 - 检测页面是否从其他页面刷新或重定向

时间:2014-01-21 14:25:58

标签: asp-classic page-refresh

我正在使用IIS 6上托管的Classic ASP应用程序。用户可以在Enter_details.asp页面中输入详细信息,然后单击发送电子邮件按钮以接收电子邮件确认。单击“发送电子邮件”按钮后,页面将重定向到email.asp页面并发送电子邮件。

如果用户刷新email.asp页面,则会发送包含相同详细信息的重复电子邮件。如何检查ASP页面是否被重定向或刷新并避免重复的电子邮件?

Page1:Enter_Details.asp page

<form action="email.asp" method="POST">

<input type="Submit" name="Submitbutton" value="Send E-Mail">

第2页:Email.asp

code to send email goes here.

我想要的是提醒用户是否已发送电子邮件。

如何检查ASP页面是重定向还是刷新?

1 个答案:

答案 0 :(得分:2)

用户最终的页面不应该是实际发送电子邮件的页面。

在您的情况下,Enter_details.asp将数据提交给email.asp,其中发送电子邮件,告诉用户电子邮件已发送。因此,如果重新加载,则会重复这两个操作。

如果您将电子邮件功能保留在email.asp中,并且完成后,请Response.Redirect到新页面emailConfirmation.asp,该页面只会告诉用户该电子邮件是否包含已成功发送(您可以通过Querystring或来自email.asp的会话传递成功标志,以及所需的任何其他详细信息)。

然后,如果重新加载emailConfirmation.asp,则不会发送重复的电子邮件。