在ASP.NET 2.0中显示消息框的简易方法






3.65/5 (12投票s)
2006年10月16日
4分钟阅读

92469

826
本文介绍一种在ASP.NET 2.0项目中快速简便地显示消息框的方法。
引言
本文介绍一种在ASP.NET 2.0项目中快速简便地显示消息框的方法。此方法可用于动态生成并向用户显示错误和状态消息。
本文包含一个示例 Web 应用程序,演示了此方法的应用。
图1:示例 Web 应用程序
图2:显示错误信息的示例消息框
入门
首先,解压缩下载的文件并打开提供的项目。项目中包含一个用VB.NET编写的简单的ASP.NET 2.0应用程序;该Web应用程序包含单个网页(Default.aspx)。此网页的唯一作用是演示消息框子例程的使用。
在IIS中创建一个虚拟目录,并将其指向此Web应用程序,然后在Visual Studio 2005中打开项目。
代码:Default.aspx
打开default.aspx的代码隐藏页面并检查其内容。该类非常简单,只包含MessageBox
子例程和一些用于测试该子例程的控件事件处理程序。
检查代码时,您会注意到该类没有导入任何库,并且只包含少量非常基本的代码。为了演示的目的,我包含了五个按钮事件处理程序,每个处理程序对MessageBox
子例程执行不同的操作;这些按钮将演示直接向子例程发送字符串、向子例程传递错误消息、向子例程传递字符串生成器的内容以及向子例程传递日期和时间。
在可行的应用程序中使用此代码时,MessageBox
子例程将是回发后向用户显示错误和状态消息的好方法。由于此方法不需要开发人员预先知道消息的内容,因此它非常适合显示任何类型的动态生成的文本。
主要关注点是MessageBox
子例程,其内容如下:
Private Sub MessageBox(ByVal msg As String)
' define a javascript alertbox containing
' the string passed in as argument
' create a new label
Dim lbl As New Label()
' add the javascript to fire an alertbox to the label and
' add the string argument passed to the subroutine as the
' message payload for the alertbox
lbl.Text = "<script language="'javascript'">" & Environment.NewLine & _
"window.alert('" + msg + "')</script>"
' add the label to the page to display the alertbox
Page.Controls.Add(lbl)
End Sub
检查代码时,您会注意到子例程接受一个字符串作为参数,并将传递给子例程的字符串直接传递给JavaScript alert框以进行显示。为了显示警报,子例程创建标签的新实例,并将相应的JavaScript命令传递给标签的text属性。标签当然会呈现传递给控件text属性的任何脚本或html命令,因此,当标签在子例程的最后一行添加到页面时,警报框将立即触发,并将显示传入的消息。
由于这发生在回发中,标签不会继续累积在页面中,而是在每次调用MessageBox
子例程后只添加一个标签,并且在任何给定时间页面源中只存在一个标签。这可以通过在浏览器中运行应用程序时检查网页的源代码来验证。
该应用程序使用一系列五个按钮事件处理程序来测试子例程;检查代码隐藏页面以查看所有这些处理程序的使用情况。我只会在此文档中显示一个处理程序,即错误消息示例;其代码如下:
Protected Sub Button2_Click(ByVal sender As Object, _
ByVal e As System.EventArgs) Handles Button2.Click
Try
Dim r As Integer
Dim x As Integer = 100
Dim y As Integer = 0
r = x / y
MessageBox(r.ToString())
Catch ex As Exception
MessageBox("Error: " & ex.Message.ToString() & " :: " & _
ex.StackTrace())
End Try
End Sub
检查此代码时,请注意已添加了Try Catch
块,并且在Try
部分中创建了一个除以零错误。Catch
块使用MessageBox
子例程显示包含一段文本、错误消息和错误堆栈跟踪的格式化错误消息。当此按钮事件处理程序触发时,应用程序将尝试执行Try
块中的计算;此尝试将引发异常,当引发异常时,相关的错误消息将通过MessageBox
子例程显示给最终用户。
摘要
本文档中提供的示例和相关的Web应用程序用于展示构建子例程的一种方法,该子例程可用于向用户显示动态消息内容。还有许多其他方法可以生成和向用户显示警报框,但是,这是一种方便完成任务的方法。