ASP模板類代碼_ASP教程

      編輯Tag賺U幣
      教程Tag:暫無Tag,歡迎添加,賺取U幣!

      推薦:asp制作的日歷程序
      純ASP打造的日歷程序,可自行美化,這里僅提供最簡單的CSS樣式。。。 style body{font-size:12px; margin:20px 0 0 20px; padding:0} tr,td{text-align:center;} /style % '================================= '說明:日歷文件 '================================= '取

       Class Template

      Private m_FileName, m_Root, m_Unknowns, m_LastError, m_HaltOnErr
      Private m_ValueList, m_BlockList
      Private m_RegExp
      Private Sub Class_Initialize
      Set m_ValueList = CreateObject("Scripting.Dictionary")
      Set m_BlockList = CreateObject("Scripting.Dictionary")
      set m_RegExp = New RegExp
      m_RegExp.IgnoreCase = True
      m_RegExp.Global = True
      m_FileName = ""
      m_Root = "."
      m_Unknowns = "remove"
      m_LastError = ""
      m_HaltOnErr = true
      End Sub

      Private Sub Class_Terminate
      Set m_RegExp = Nothing
      Set m_BlockMatches = Nothing
      Set m_ValueMatches = nothing
      End Sub

      Public Property Get ClassName()
      ClassName = "Template"
      End Property

      Public Property Get Version()
      Version = "1.0"
      End Property
      Private Function LoadFile(ByVal chartype)
      Dim Filename, fso, hndFile
      Filename = m_Root
      If Right(Filename, 1)<>"/" And Right(Filename, 1)<>"\" Then Filename = Filename & "/"
      Filename = Server.MapPath(Filename & m_FileName)
      Set StreamObject = Server.CreateObject("Adodb.Stream")
      StreamObject.Type = 1
      StreamObject.Mode = 3
      StreamObject.Open
      StreamObject.Position = 0
      StreamObject.LoadFromFile Filename
      StreamObject.Position = 0
      StreamObject.Type = 2
      StreamObject.CharSet = chartype
      LoadFile = StreamObject.readtext()
      If LoadFile = "" Then ShowError("0x11<br>Could Not Load The File " & m_FileName & "!")
      End Function

      Private Sub ShowError(ByVal msg)
      m_LastError = msg
      Response.Write "<span style=""font-size:12px;color:red"">Error ID : " & msg & "</span>"
      If m_HaltOnErr Then Response.End
      End Sub

      Public Sub set_root(ByVal Value)
      m_Root = Value
      End Sub
      Public Function get_root()
      get_root = m_Root
      End Function
      Public Property Let Root(ByVal Value)
      set_root(Value)
      End Property
      Public Property Get Root()
      Root = m_Root
      End Property

      Public Sub set_file(ByVal handle,ByVal filename,ByVal chartype)
      m_FileName = filename
      m_BlockList.Add Handle, LoadFile(chartype)
      End Sub
      Public Function get_file()
      get_file = m_FileName
      End Function
      Public Sub set_unknowns(ByVal unknowns)
      m_Unknowns = unknowns
      End Sub
      Public Function get_unknowns()
      get_unknowns = m_Unknowns
      End Function
      Public Property Let Unknowns(ByVal unknown)
      m_Unknowns = unknown
      End Property
      Public Property Get Unknowns()
      Unknowns = m_Unknowns
      End Property

      Public Sub set_block(ByVal Parent, ByVal BlockTag, ByVal Name)
      Dim Matches
      m_RegExp.Pattern = "<!--\s+BEGIN " & BlockTag & "\s+-->([\s\S.]*)<!--\s+END " & BlockTag & "\s+-->"
      If Not m_BlockList.Exists(Parent) Then ShowError("0x12<br>Undefined Block Tag " & Parent & "!")
      set Matches = m_RegExp.Execute(m_BlockList.Item(Parent))
      For Each Match In Matches
      m_BlockList.Add BlockTag, Match.SubMatches(0)
      m_BlockList.Item(Parent) = Replace(m_BlockList.Item(Parent), Match.Value, "{" & Name & "}")
      Next
      set Matches = nothing
      End Sub

      Public Sub set_var(ByVal Name, ByVal Value, ByVal AppEnd)
      Dim Val
      If IsNull(Value) Then Val = "" Else Val = Value
      If m_ValueList.Exists(Name) Then
      If AppEnd Then m_ValueList.Item(Name) = m_ValueList.Item(Name) & Val _
      Else m_ValueList.Item(Name) = Val
      Else
      m_ValueList.Add Name, Value
      End If
      End Sub

      Public Sub unset_var(ByVal Name)
      If m_ValueList.Exists(Name) Then m_ValueList.Remove(Name)
      End Sub

      Private Function InstanceValue(ByVal BlockTag)
      Dim keys, i
      InstanceValue = m_BlockList.Item(BlockTag)
      keys = m_ValueList.Keys
      For i=0 To m_ValueList.Count-1
      InstanceValue = Replace(InstanceValue, "{" & keys(i) & "}", m_ValueList.Item(keys(i)))
      Next
      End Function

      Public Sub parse(ByVal Name, ByVal BlockTag, ByVal AppEnd)
      If Not m_BlockList.Exists(BlockTag) Then ShowError("0x12<br>Undefined Block Tag " & Parent & "!")
      If m_ValueList.Exists(Name) Then
      If AppEnd Then m_ValueList.Item(Name) = m_ValueList.Item(Name) & InstanceValue(BlockTag) _
      Else m_ValueList.Item(Name) = InstanceValue(BlockTag)
      Else
      m_ValueList.Add Name, InstanceValue(BlockTag)
      End If
      End Sub

      Private Function finish(ByVal content)
      Select Case m_Unknowns
      Case "keep" finish = content
      Case "remove"
      m_RegExp.Pattern = "\{[^ \t\r\n}]+\}"
      finish = m_RegExp.Replace(content, "")
      Case "comment"
      m_RegExp.Pattern = "\{([^ \t\r\n}]+)\}"
      finish = m_RegExp.Replace(content, "<!-- Template Variable $1 Undefined -->")
      Case Else finish = content
      End Select
      End Function

      Public Sub output(ByVal Name)
      If Not m_ValueList.Exists(Name) Then ShowError("0x13<br>Could Not Find Tag " & Name & "!")
      Response.Write(finish(m_ValueList.Item(Name)))
      End Sub
      End Class

      分享:ASP Request對象的使用
      ASP主要有五個內建(built-in)對象:Server、Request、Response、Application和Session。現在我們通過舉例來對它們進行講解。首先是最常使用的Response對象。 例1 利用Response在網頁中輸出HTML文檔 您可以在FrontPage Editor,或是寫字板、記事本等書寫器中輸入以上的代

      來源:模板無憂//所屬分類:ASP教程/更新時間:2013-04-24
      相關ASP教程