2005/10/20 | 敝帚自珍:ASP异常提示类Exception
类别(Develop) | 评论(0) | 阅读(67) | 发表于 09:26
<%
Class Exception
    Private IWindow
    Private ITarget
    Private ITimeOut
    Private IMode
    Private IMessage
    Private IHasError
    Private IRedirect

    Public Property Let Window(ByVal value)
        IWindow = value
    End Property
    Public Property Get Window()
        Window = IWindow
    End Property

    Public Property Let Target(ByVal value)
        ITarget = value
    End Property
    Public Property Get Target()
        Target = ITarget
    End Property

    Public Property Let TimeOut(ByVal value)
        If IsNumeric(value) Then
            ITimeOut = CInt(value)
        Else
            ITimeOut = 3000
        End If
    End Property
    Public Property Get TimeOut()
        TimeOut = ITimeOut
    End Property

    Public Property Let Mode(ByVal value)
        If IsNumeric(value) Then
            IMode = CInt(Mode)
        Else
            IMode = 1
        End If
    End Property
    Public Property Get Mode()
        Mode = IMode
    End Property

    Public Property Let Message(ByVal value)
        If IHasError Then
            IMessage = IMessage & "<li>" & value & "</li>" & vbCrLf
        Else
            IHasError = True
            IMessage = "<li>" & value & "</li>" & vbCrLf
        End If
    End Property
    Public Property Get Message()
        Message = IMessage
    End Property

    Public Property Let HasError(ByVal value)
        IHasError = CBool(value)
    End Property
    Public Property Get HasError()
        HasError = IHasError
    End Property

    Public Property Let Redirect(ByVal value)
        IRedirect = CBool(value)
    End Property
    Public Property Get Redirect()
        Redirect = IRedirect
    End Property

    Private Sub Class_initialize()
        With Me
            .Window = "self"
            .Target = PrePage()
            .TimeOut = 3000
            IMode = 1
            IMessage = "出现错误,正在返回,请稍候..."
            .HasError = False
            .Redirect = True
        End With
    End Sub
    
    Private Sub Class_Terminate()
    End Sub

    Public Function PrePage()
        If Request.ServerVariables("HTTP_REFERER") <> "" Then
            PrePage = Request.ServerVariables("HTTP_REFERER")
        Else
            PrePage = "/index.asp"
        End If
    End Function

    Public Function Alert()
        Dim words : words = Me.Message
        words = Replace(words, "<li>", "\n")
        words = Replace(words, "</li>", "")
        words = Replace(words, vbCrLf, "")
        words = "提示信息:\t\t\t" & words
%>
        <script type="text/javascript">
        <!--
            alert("<%=words%>")
            <%=Me.Window%>.location = "<%=Me.Target%>"
        //-->
        </script>
<%
    End Function

    Public Sub Throw()
        If Not HasError Then Exit Sub
        Response.Clear()
        Select Case CInt(Me.Mode)
            Case 1
%>
        <link href="/css/admin.css" rel="stylesheet" type="text/css">
        <TABLE class="border-all" cellSpacing="1" cellPadding="5" width="50%" align="center" border="0">
         <TBODY>
            <TR>
             <TH height="21" align="middle" background="images/th_bg.gif" class="title">提示信息</TH>
            </TR>
            <TR>
             <TD align="center" bgColor="#ffffff" height="40">
                <TABLE cellSpacing="0" cellPadding="0" width="95%" border="0">
                 <TBODY>
                    <TR>
                     <TD height="5"></TD>
                    </TR>
                    <TR>
                     <TD><%=Me.Message%></TD>
                    </TR>
                    <TR>
                     <TD>&nbsp;</TD>
                    </TR>
                    <TR>
                     <TD align="center"><a href="javascript:history.back()">[返回]</a> <a href="/">[首页]</a> </TD>
                    </TR>
                 </TBODY>
                </TABLE>
             </TD>
            </TR>
         </TBODY>
        </TABLE>
<% If Redirect Then%>        <script type="text/javascript">
        <!--
            setTimeout("<%=Me.Window%>.location='<%=Me.Target%>'",<%=Me.TimeOut%>)
        //-->
        </script><%end If%>
<%
    Case 2
        Call Alert()
    Case Else
        Response.Write Message
    End Select
        Response.End()
    End Sub
End Class
%>
0

评论Comments

日志分类
首页[66]
Develop[14]
Plus[3]
Melody[7]
Essay[38]
Archive[4]