我正在处理一个在IIS 6上托管的经典ASP应用程序。用户可以在Enter_details.asp页面中输入详细信息,然后单击“发送电子邮件”按钮来接收电子邮件确认。单击“发送电子邮件”按钮后,将页重定向到email.asp页面,并发送电子邮件。
如果用户刷新email.asp页面,则会发送包含相同详细信息的重复电子邮件。如何检查ASP页面是否被重定向或刷新,并避免重复电子邮件?
Page1: Enter_Details.asp页面
<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页是否被重定向或刷新?
发布于 2014-01-21 07:01:51
用户最终出现的页面不应该是实际发送电子邮件的页面。
在您的情况下,Enter_details.asp
向email.asp
提交数据,email.asp
负责发送邮件,并告诉用户已经发送了电子邮件。因此,如果它被重新加载,这两个操作将被重复。
如果您将电子邮件功能保留在email.asp
中,并在此功能完成后,向一个新页面emailConfirmation.asp
执行一个Response.Redirect
,该页面只需告诉用户电子邮件是否已成功发送(您可以通过Querystring或从email.asp
的会话传递一个成功标志和任何其他所需的详细信息)。
然后,如果emailConfirmation.asp
被重新加载,将不会发送重复的电子邮件。
https://stackoverflow.com/questions/21260843
复制相似问题