Response.Redirect not being called after sending an email

  • Thread starter Thread starter Nathan Sokalski
  • Start date Start date
N

Nathan Sokalski

The last two lines of code in the Click event of a Button Control on my page
are:


Me.WelcomeEmail()
Response.Redirect("mainmenu.aspx")


The last line of code in Me.WelcomeEmail() is:


Mail.SmtpMail.Send(mailmsg)


When the Click event is triggered, all of the code in Me.WelcomeEmail() is
successfully executed, and the email is successfully sent, but the
Response.Redirect("mainmenu.aspx") line is not executed, and a blank page is
displayed with the URL of the page that this code is run from. However, if I
use Server.Transfer instead as follows:


Me.WelcomeEmail()
Server.Transfer("mainmenu.aspx")
Response.Redirect("mainmenu.aspx") 'This line obviously won't get executed
here because Server.Transfer is executed first


The Server.Transfer line does get executed, and I see the page
mainmenu.aspx. However, I do not want this because I want the displayed URL
to match the displayed page, which is not true when using Server.Transfer.
Why is Response.Redirect not working here, and what can I do to fix it?
Thanks.
 
Nathan Sokalski said:
The last two lines of code in the Click event of a Button Control on my
page are:


Me.WelcomeEmail()
Response.Redirect("mainmenu.aspx")


The last line of code in Me.WelcomeEmail() is:


Mail.SmtpMail.Send(mailmsg)


When the Click event is triggered, all of the code in Me.WelcomeEmail() is
successfully executed, and the email is successfully sent, but the
Response.Redirect("mainmenu.aspx") line is not executed, and a blank page
is displayed with the URL of the page that this code is run from. However,
if I use Server.Transfer instead as follows:


Me.WelcomeEmail()
Server.Transfer("mainmenu.aspx")
Response.Redirect("mainmenu.aspx") 'This line obviously won't get executed
here because Server.Transfer is executed first


The Server.Transfer line does get executed, and I see the page
mainmenu.aspx. However, I do not want this because I want the displayed
URL to match the displayed page, which is not true when using
Server.Transfer. Why is Response.Redirect not working here, and what can I
do to fix it? Thanks.
Sounds like you have an incomplete path to the page.
 
I doubt that is the problem, for several reasons.

1. mainmenu.aspx is in the same directory as the page that this code is in,
so I shouldn't need anything other than the filename, right?
2. If that was the problem, wouldn't it give me an error saying it could not
find mainmenu.aspx?
3. Why is Server.Transfer working when I do not pass it anything other than
the filename?
4. I tried using the complete URL (http://www.mydomain.org/mainmenu.aspx),
but it did not make any difference.

However, I think that I did find the reason, but I think it will require a
compromise. When I do a view source on the blank page that shows up when it
should be redirected to mainmenu.aspx, I see two body tags and a set of tags
that I think come from ASP.NET's SmartNav feature. One of the attributes in
this tag is the URL that it should be redirected to. I think that the
SmartNav feature is what is causing the problem, so I guess I'll have to do
without it for now.
 
Back
Top