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.
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
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.
You can download the latest version of my code at http://download.biswaretech.com/resources.aspx?file=web_Msgbox.zip.
| You must Sign In to use this message board. | |||||
|
|||||