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
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.