Displaying messages/errors to users. Opinions?

  • Thread starter Thread starter NewsMonkey
  • Start date Start date
N

NewsMonkey

Hi All,

I have been working on a few ASP.NET applications recently that access
database resources frequently. I have been trying to find a consistent
way of displaying both the success and failure of various operations to
the user. For example, if a new record is successfully added then I
would like to display a short message saying "The record has been added
successfully". Likewise if an error occurs then I would like to display
the "Message" attribute of the exception that was thrown.

The problem I am having, is coming up with a consistent method of
displaying these messages. Should I place the message into a Session
object and then redirect to a new page that reads the message from the
Session object? Another method I could use would be to place the error
message into the body of a hidden "<DIV></DIV>" element and then set the
visibility to "visible". I guess I am just looking for tips and
techniques that others use to accomplish this sort of task, also, any
"tutorial/articles" that might cover this subject would be very helpful.
It would be great if I could "aggregate" the functionality into a
reusable class or object and just use it within other asp.net
applications. Thanks in advance for any help!

- DereTheGeek
 
How abt using javascript in ur program. It is almost similar to
MessageBox.Show in Windows Form Just type it the following code into urs
and then pass in the relevant parameters. U can also experiment with
Confirm. Just change the "alert" to Confirm. (I m not very good in
Javascript so i may be wrong abt the syntax of confirm)

Page.RegisterStartupScript("Your Header", "<script>" + "alert('" + "Your
Message" + "');" + "</script>");
 
<< Response at the bottom of the page >>

blizzardstorm8899 said:
How abt using javascript in ur program. It is almost similar to
MessageBox.Show in Windows Form Just type it the following code into urs
and then pass in the relevant parameters. U can also experiment with
Confirm. Just change the "alert" to Confirm. (I m not very good in
Javascript so i may be wrong abt the syntax of confirm)

Page.RegisterStartupScript("Your Header", "<script>" + "alert('" + "Your
Message" + "');" + "</script>");


Javascript, though good for quick messages and choices for users,
would not be a good solution for what I am trying to do? At least thats
what I am thinking. I want to be able to display a formatted message to
the user that something has occurred. In this message it would be nice
to have a navigation bar so the user can then go to the next section of
the application that they would like.

I have been using Session objects in the following manner..

// after record update is successful
Session["Message"] = "The record update was successful";
Response.Redirect("DisplayMessage.aspx");

I am wondering if there is a better way to do this?

- Derek
 
NewsMonkey said:
Hi All,

I have been working on a few ASP.NET applications recently that access
database resources frequently. I have been trying to find a consistent
way of displaying both the success and failure of various operations to
the user. For example, if a new record is successfully added then I
would like to display a short message saying "The record has been added
successfully". Likewise if an error occurs then I would like to display
the "Message" attribute of the exception that was thrown.

The problem I am having, is coming up with a consistent method of
displaying these messages. Should I place the message into a Session
object and then redirect to a new page that reads the message from the
Session object? Another method I could use would be to place the error
message into the body of a hidden "<DIV></DIV>" element and then set the
visibility to "visible". I guess I am just looking for tips and
techniques that others use to accomplish this sort of task, also, any
"tutorial/articles" that might cover this subject would be very helpful.
It would be great if I could "aggregate" the functionality into a
reusable class or object and just use it within other asp.net
applications. Thanks in advance for any help!

What I do is to set a couple of Session variables when I want a message to
display - one for the message, one for formatting information. Then, I have
every page check those variables during Page_Load. If they're found to be
set, the text is formatted into a label control on the page and then cleared
from the session variable. This way, if the page uses Response.Redirect, the
next page will see the message.

I also have a variant of this code which displays the message on the same
page.

You don't really want the user to see the Message text of system exceptions,
though. Some of those SQL Server messages can look to a user like the world
is ending! You'll want to interpret your exceptions and display something
the user can understand. At the same time, you should consider logging the
complete exception to the event log, possibly as a Warning message. That
way, if your user complains about "Can't add row - maybe duplicate", you can
check the event log and see the full exception.
 
Back
Top