Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles
(untagged)

Web Message Box for ASP.NET

0.00/5 (No votes)
9 Feb 2008 1  
A message box for ASP.NET to send back server messages to users.

Introduction

Message box is a very useful control in Window-based applications. For web-based applications, you have a similar control on client-side. However, when you want to convey a server-side message to the user, there is no ready-to-use message box control. This article introduces a simple way to write a message box to convey server-side message back to the user.

Using the code

Firstly, I add a Module to the ASP.NET website:

Imports Microsoft.VisualBasic

Public Module Module1

    Public Function Msg(ByVal str As String, ByVal supportVB As Boolean, _
                        ByVal style As MsgBoxStyle) As String

        If supportVB Then

            str = str.Replace("""", "'")
            Return "<script language=""vbscript"" type=""text/vbscript"" >MsgBox """ & _
                   str & """," & CInt(style).ToString & ", ""Message Box""</script>"

        Else
            str = str.Replace("'", """")
            Return "<script>window.alert('" & str & "')</script>"        
       End If
    End Function

    Public Function Msg(ByVal str As String) As String
        Return Msg(str, False, MsgBoxStyle.Exclamation)
    End Function

End Module

The above function checks whether the browser supports VBScript. If so, I use VBScript. The message box of VBScript is more powerful than that of JavaScript. It allows you to control the display icon of your message. You may not want an exclamation mark for your success message.

In order to use my message box in the web site, I also add a Label control which I call lblMessage at the bottom of the web page. The EnableViewState of lblMessage is set to False:

<label id="lblMessage" enableviewstate="False" runat="server" />

You can now use the message box in a web page as follows:

Try
    'your server action
    lblMessage.Text = Msg("Success Message", _
                      Request.Browser.VBScript, MsgBoxStyle.Information)
Catch ex As Exception
    lblMessage.Text = Msg(ex.Message)
End Try

Points of interest

Please note that you must set EnableViewState of lblMessage to False. ASP.NET defaults it to True. If you set it to True, the message will be kept for the next postback. This means that the message will continue even if you correct an error.

Code

You can download the latest version of my code at http://download.biswaretech.com/resources.aspx?file=web_Msgbox.zip.

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here