Solved

help with exceptions

Posted on 2006-07-07
12
271 Views
Last Modified: 2012-03-15
Hey experts,

I'm still trying to teach myself c# and web programming, and I'm stuck on trying to figure out how to get this exception to work.

I have a web form that allows the user to select an attachment to include with the email. I want to put a limit on the file size to 10mb. When the user has entered in the information and selected the attachment, the user then clicks on submit and the email is created and sent out. What I would like to do in theory is if the attachment is too large, notify the user before sending the email without the attachment so he or she can make arrangements to get the attachment to the person in a different way. What I have below doesn't work. I stepped through the code and it goes to the catch statement, but I guess I just don't understand how to use the response.write correctly, as it just continues on with the rest of the code with no message.

try
   {
   if (filename.PostedFile.ContentLength > 18000)
          throw new Exception();
   else
          mMessage.Attachments.Add(new MailAttachment(@filename.PostedFile.FileName));
   }
catch
   {
          Response.Write("test");
   }

Any help is appreciated. Thanks


Bryan
0
Comment
Question by:bng0005
  • 7
  • 5
12 Comments
 
LVL 52

Expert Comment

by:Carl Tawn
ID: 17060894
Have you let the page finish processing ? It may just be that the Response is being buffered so you won't see the output right away.
0
 
LVL 1

Author Comment

by:bng0005
ID: 17061002
Yes I have, never saw my "test" string anywhere. I'll post the rest of my code after that section, as the redirect might be a reason why it doesn't show. This is the code that immediately follows what I already posted, and the end of the function. Without debugging and adding a file that is too large, I click submit, it goes to the success page and the email is sent without the attachment

try
{
    SmtpMail.Send(mMessage);
}
catch
{
    Response.Write("There was an error sending the notification e-mail. Please contact the System Administrator.");
}

Session.Add("_rn", (counter=="" ? "#ERROR" : counter));
Response.Redirect("Success.aspx");  
0
 
LVL 52

Expert Comment

by:Carl Tawn
ID: 17061052
That'll be it then. Your page will redirect before you see the message. To verify, take out the redirect and see if you get the message as expected.
0
ScreenConnect 6.0 Free Trial

Check out the updates in one game-changing release, ScreenConnect 6.0, based on partner feedback. New features include a redesigned UI that improves session organization and overall user experience. See the enhancements for yourself!

 
LVL 1

Author Comment

by:bng0005
ID: 17061141
ahah, it shows up now.

Now if you don't mind me expanding on the question, is there an easy way to get the message to show up like a dialog box and continue with the redirect after user clicks ok?
0
 
LVL 52

Expert Comment

by:Carl Tawn
ID: 17061210
Do you want a javascript prompt or a HTML message in the page ?
0
 
LVL 1

Author Comment

by:bng0005
ID: 17061365
Hmm, probably the prompt
0
 
LVL 52

Expert Comment

by:Carl Tawn
ID: 17061437
Ok, just before the Redirect try adding:

    Response.Write("<script language=""javascript"">alert('Your message');</script>");
    Response.Flush();
0
 
LVL 52

Expert Comment

by:Carl Tawn
ID: 17061459
Scratch that, it won't work.
0
 
LVL 52

Accepted Solution

by:
Carl Tawn earned 300 total points
ID: 17061474
Take out the Redirect then add this instead:

        Response.Write("<script language=\"javascript\">");
        Response.Write("alert('My Message');");
        Response.Write("document.location.href='success.aspx';");
        Response.Write("</script>");

This will show your message and then perform a client-side redirect instead.
0
 
LVL 1

Author Comment

by:bng0005
ID: 17061496
No luck.

HttpException

Cannot redirect after http headers have been sent.

0
 
LVL 52

Expert Comment

by:Carl Tawn
ID: 17061512
Thats why I said to scratch the first one. Try the second option.
0
 
LVL 1

Author Comment

by:bng0005
ID: 17061562
Second option worked perfectly, didn't see it until after I posted. Thanks for the help.


Bryan
0

Featured Post

ScreenConnect 6.0 Free Trial

Explore all the enhancements in one game-changing release, ScreenConnect 6.0, based on partner feedback. New features include a redesigned UI, app configurations and chat acknowledgement to improve customer engagement!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
WKHTMLTOPDF - --disable-smart-shrinking not working 10 88
Connection String 16 58
insert value of checklistbox checked 4 27
tableview is not updating 1 8
Introduction This article series is supposed to shed some light on the use of IDisposable and objects that inherit from it. In essence, a more apt title for this article would be: using (IDisposable) {}. I’m just not sure how many people would ge…
This article introduced a TextBox that supports transparent background.   Introduction TextBox is the most widely used control component in GUI design. Most GUI controls do not support transparent background and more or less do not have the…
Established in 1997, Technology Architects has become one of the most reputable technology solutions companies in the country. TA have been providing businesses with cost effective state-of-the-art solutions and unparalleled service that is designed…
A short tutorial showing how to set up an email signature in Outlook on the Web (previously known as OWA). For free email signatures designs, visit https://www.mail-signatures.com/articles/signature-templates/?sts=6651 If you want to manage em…

772 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question