• <fieldset id="8imwq"><menu id="8imwq"></menu></fieldset>
  • <bdo id="8imwq"><input id="8imwq"></input></bdo>
    最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
    問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
    當前位置: 首頁 - 科技 - 知識百科 - 正文

    asp簡單的ajax留言板(采用三層模式)

    來源:懂視網 責編:小采 時間:2020-11-27 22:52:51
    文檔

    asp簡單的ajax留言板(采用三層模式)

    asp簡單的ajax留言板(采用三層模式):好久沒有寫過asp了,這回寫個留言板還真覺得有點難度,競然寫了整整一天,哈哈.就只有留言其它的都什么也沒寫,采用三層結構(不知道算不算,本來對三層的概念很糊涂)演示www.zj55.com的留言板,希望各位大哥大姐如果發現有漏洞的話請在這里告訴我,千萬不要黑我的網
    推薦度:
    導讀asp簡單的ajax留言板(采用三層模式):好久沒有寫過asp了,這回寫個留言板還真覺得有點難度,競然寫了整整一天,哈哈.就只有留言其它的都什么也沒寫,采用三層結構(不知道算不算,本來對三層的概念很糊涂)演示www.zj55.com的留言板,希望各位大哥大姐如果發現有漏洞的話請在這里告訴我,千萬不要黑我的網

    好久沒有寫過asp了,這回寫個留言板還真覺得有點難度,競然寫了整整一天,哈哈.
    就只有留言其它的都什么也沒寫,采用三層結構(不知道算不算,本來對三層的概念很糊涂)

    演示www.zj55.com的留言板,希望各位大哥大姐如果發現有漏洞的話請在這里告訴我,千萬不要黑我的網站,在這里小弟先謝過了.

    index.asp
    <%@ codepage=65001%>
    <%
    option explicit
    %>
    <% Response.Charset="utf-8"%>
    <% Session.CodePage=65001 %>
    <!-- #include file="AccHelper.asp" -->
    <!-- #include file="Common.asp"-->
    <!-- #include file="DAL_Guest.asp" -->
    <!-- #include file="MOD_Guest.asp" -->
    <!-- #include file="BLL_Guest.asp" -->
    <%
     Dim mybll
     Dim myList
     Set mybll = new BLL_Guest
     Select Case Request("tCMD")
      Case "SAVE"
       mybll.Insert()
      Case "DEL"
       mybll.Delete()
     End Select
     myList = mybll.FindByPage()
    %>
    <h2>客戶留言</h2>
    <p>
    <form name="subForm" id="subForm">
     <textarea id="con" name="con" cols="56" rows="6" wrap="VIRTUAL"></textarea>
     <input type="button" name="submit" value="提交留言" onclick="$('guest/index.asp?tCMD=SAVE&content='+escape(this.form.con.value))" />
    </form>
    </p>
    <%=myList%>

    BLL_Guest.asp
    <%
     '/// <summary>
     '/// 摘要說明。
     '/// </summary>
     Class BLL_Guest

      Private mycom,mymod,mydal

      Private LI,UL

      Private DEL

      '獲取信息
      Public Sub GetGuest()

       mydal.GetGuest(Id)

      End Sub

      '新增信息
      Public Sub Insert()

       mymod.Content = Request("content")
       mymod.re = Request("Re")
       mymod.Addtime = Now()
       mymod.Ip = request.servervariables("HTTP_X_FORWARDED_FOR")
       If len(mymod.Ip)<=0 Then mymod.Ip = request.servervariables("REMOTE_ADDR")

       Call mydal.Insert(mymod)

      End Sub

      '更新信息
      Public Sub Update()

       Call mydal.Update(mymod)

      End Sub

      '刪除信息
      Public Sub Delete()

       mydal.Delete(Request("Id"))

      End Sub

      '查找信息
      Public Function FindByPage()

       Dim PageSize,CurrentPage,WhereValue,OrderValue,RecordCount
       Dim objRS
       Dim tmp1,tmp2,tmp3,parms,i
       Dim tCMD
       tCMD = Request("tCMD")
       PageSize = "8"
       CurrentPage = Request("PageNo")
       If Len(CurrentPage)<=0 Then
        CurrentPage=1
       End If
       WhereValue = ""
       OrderValue = "Id"
       Set objRS = mydal.FindByPage(PageSize,CurrentPage-1,WhereValue,OrderValue)
       i = 1
       RecordCount = mydal.Count(WhereValue)
       Do While Not objRS.EOF
        If tCMD="DEL" Then
         DEL = "<a href=""?tCMD=DEL&Id="&objRS("Id")&""">刪除</a>"
        Else
         DEL = ""
        End If
        parms=Array(i,objRS("content"),objRS("ip"),objRS("addtime"),DEL)
        tmp1 = tmp1 & mycom.Format(LI,parms)
        objRs.Movenext
        i = i + 1
       Loop
       tmp3 = mycom.Page(PageSize,CurrentPage,RecordCount,"guest/index.asp?tCMD=LIST")
       parms=Array(tmp1,tmp3)
       tmp2 = tmp2 & mycom.Format(UL,parms)

       FindByPage = tmp2

      End Function

      Private Sub Class_Initialize()

       LI = "<li><span>{0}</span> <span>{1}</span><br /><span>作者:{2}</span> <span>{3}</span> <span>{4}</span></li>" & vbCrLf
       UL = "<UL>{0}<li>{1}</li></UL>"
       DEL = ""

       Set mycom = new Common
       set mymod = new MOD_Guest
       set mydal = new DAL_Guest

      End Sub

      Private Sub Class_Terminate()

       Set mycom = Nothing
       Set mymod = Nothing
       set mydal = Nothing

      End Sub

     End Class
    %>

    DAL_Guest.asp
    <%
     '/// <summary>
     '/// 摘要說明。
     '/// </summary>
     Class DAL_Guest

      Private SQL_01
      Private SQL_02
      Private SQL_03
      Private SQL_04
      Private SQL_05
      Private SQL_06
      Private SQL_07

      Private mycom,myacc,mymod

      '/// <summary>
      '/// 獲得信息
      '/// </summary>
      '/// <param name="Id">判斷字段</param>
      '/// <returns>信息體</returns>
      Public Function GetGuest(Id)

       Dim parms,SQL,objRS
       parms = Array(Id)
       SQL  = mycom.Format(SQL_01,parms)
       Set objRS = myacc.ExecuteReader(myacc.CONN_STRING,SQL)
       If  Not objRS.EOF then
        Call mymod.SetVar(objRs("Id"),objRs("Content"),objRs("Re"),objRs("Addtime"),objRs("Ip"))
        Set GetGuest = mymod
       Else
        GetGuest = Null
       End If

      End Function

      '/// <summary>
      '/// 插入信息
      '/// </summary>
      '/// <param name="">信息體</param>
      Public Sub Insert(vmod)

       Dim parms,SQL
       parms = Array(vmod.Content,vmod.Re,vmod.Addtime,vmod.Ip)
       SQL  = mycom.Format(SQL_02,parms)
       Call myacc.ExecuteReader(myacc.CONN_STRING,SQL)

      End Sub

      '/// <summary>
      '/// 更新信息
      '/// </summary>
      '/// <param name="">信息體</param>
      Public Sub Update(vmod)

       Dim parms,SQL
       parms = Array(vmod.Id,vmod.Content,vmod.Re,vmod.Addtime,vmod.Ip)
       SQL  = mycom.Format(SQL_03,parms)
       Call myacc.ExecuteReader(myacc.CONN_STRING,SQL)

      End Sub

      '/// <summary>
      '/// 刪除信息
      '/// </summary>
      '/// <param name="">信息體</param>
      Public Sub Delete(Id)

       Dim parms,SQL
       parms = Array(Id)
       SQL  = mycom.Format(SQL_04,parms)
       Call myacc.ExecuteNonQuery(myacc.CONN_STRING,SQL)

      End Sub

      '/// <summary>
      '/// 統計信息
      '/// </summary>
      '/// <param name="">信息體</param>
      Public Function Count(WhereValue)

       Dim parms,SQL,objRS
       parms = Array(WhereValue)
       SQL  = mycom.Format(SQL_07,parms)
       Set objRS = myacc.Recordset(myacc.CONN_STRING,SQL)
       Count = objRS.RecordCount

      End Function

      '/// <summary>
      '/// 根據條件列出所有信息(帶有分頁)
      '/// </summary>
      '/// <param name="PageSize">每頁記錄數</param>
      '/// <param name="CurrentPage">頁碼</param>
      '/// <param name="WhereValue">判斷值</param>
      '/// <param name="OrderValue">排序</param>
      '/// <returns>返回objRS</returns>
      Public Function FindByPage(PageSize,CurrentPage,WhereValue,OrderValue)

       Dim parms,SQL,objRS
       Dim s1
       If CurrentPage="0" Then   
        s1 =  PageSize & "|" + OrderValue & "|" & WhereValue
        parms = Split(s1,"|")
        SQL = mycom.Format(SQL_05,parms)
       Else
        s1 = PageSize & "|" & OrderValue & "|" + WhereValue & "|" & CurrentPage*PageSize
        parms = Split(s1,"|")
        SQL = mycom.Format(SQL_06,parms)
       End If

       Set objRS = myacc.ExecuteReader(myacc.CONN_STRING,SQL)
       Set FindByPage = objRS

      End Function


      Private Sub Class_Initialize()

       SQL_01 = "Select * From [Guest] Where Id = {0}"
       SQL_02 = "Insert into [Guest] ([Content],[Re],[Addtime],[Ip]) values('{0}','{1}','{2}','{3}')"
       SQL_03 = "Update [Guest] Set [Content]='{1}',[Re]='{2}',[Addtime]='{3}',[Ip]='{4}' Where Id = {0}"
       SQL_04 = "Delete From [Guest] Where Id In ({0})"
       SQL_05 = "Select Top {0} * From [Guest] Where Content Like '%{2}%' Order By {1} Desc,Id Desc"
       SQL_06 = "Select Top {0} * From [Guest] Where Content Like '%{2}%' And Id Not IN(Select Top {3} Id From [Guest] Where Content Like '%{2}%' Order By {1} Desc,Id Desc) Order By {1} Desc,Id Desc"
       SQL_07 = "Select * From [Guest] Where Content Like '%{0}%' "

       Set mycom = new Common
       Set myacc = new AccHelper
       Set mymod = new MOD_Guest

      End Sub

      Private Sub Class_Terminate()

       Set mycom = Nothing
       Set myacc = Nothing
       Set mymod = Nothing

      End Sub

     End Class
    %>

    MOD_Guest.asp
    <%
     '/// <summary>
     '/// 摘要說明。
     '/// </summary>
     Class MOD_Guest

      Public Id
      Public Content
      Public Re
      Public Addtime
      Public Ip

      Public Sub SetVar(vId,vContent,vRe,vAddtime,vIp)
       Id=vId
       Content=vContent
       Re=vContent
       Addtime=vAddtime
       Ip=vIp
      End Sub

     End Class
    %>

    Common.asp
    <%
     '/// <summary>
     '/// 摘要說明
     '/// </summary>
     Class Common

      '/// <summary>
      '/// 獲得信息
      '/// </summary>
      '/// <param name="Id">需要內容</param>
      '/// <param name="Id">替換關鍵字</param>
      '/// <returns>格式化后內容</returns>
      Public Function Format(str,arr)

       Dim r,i
       r = str   
       For i = 0 To UBound(arr)
        r = Replace(r,"{"&i&"}",arr(i))
       Next
       Format = r

      End Function

      Public Function Page(PageSize,CurrentPage,RecordCount,PageUrl)

       const C_RECORDCOUNT = "合計<STRONG><FONT color=""red"">{0}</FONT></STRONG>篇 |"
       const C_FIRSTPAGE1 = " <a href=""#"" onclick=""$('{0}&PageNo={1}')"">首頁</a>"
       const C_FIRSTPAGE2 = " 首頁"
       const C_PREVPAGE1 = " <a href=""#"" onclick=""$('{0}&PageNo={1}')"">上一頁</a>"
       const C_PREVPAGE2 = " 上一頁"
       const C_NEXTPAGE1 = " <a href=""#"" onclick=""$('{0}&PageNo={1}')"">下一頁</a>"
       const C_NEXTPAGE2 = " 下一頁"
       const C_LASTPAGE1 = " <a href=""#"" onclick=""$('{0}&PageNo={1}')"">尾頁</a>"
       const C_LASTPAGE2 = " 尾頁"
       const C_CURRENTPAGE = " 頁次:<STRONG><FONT color=""red"">{0}</FONT>/{1}</STRONG>頁"
       const C_PAGESIZE = " <STRONG>{0}</STRONG>篇/頁  "
       const C_GOTOPAGE = " 跳轉:<input type=""text"" name=""goto"" value=""{1}"" onchange=""$('{0}&PageNo='+this.value)"" style=""width:20px;border:1px""/>  "

       Dim PageCount,pages
       Dim lRecordCount,lFirstpage,lPrevpage,lNextpage,lLastpage,lCurrentpage,lPagesize,lGotopage
       Dim p,parms

       If RecordCount Mod PageSize <> 0 Then
        pages = 1
       else
        pages = 0
       End If
       PageCount=CInt(RecordCount/PageSize + pages)

       parms=Array(RecordCount)
       lRecordCount = Format(C_RECORDCOUNT,parms)

       if CInt(CurrentPage)>1 Then
        parms=Array(Pageurl,1)
        lFirstpage = Format(C_FIRSTPAGE1,parms)
        parms=Array(Pageurl,CInt(CurrentPage)-1)
        lPrevpage = Format(C_PREVPAGE1,parms)
       Else
        lFirstpage=C_FIRSTPAGE2
        lPrevpage=C_PREVPAGE2
       End If

       if CInt(CurrentPage)<PageCount Then
        parms=Array(Pageurl,CInt(CurrentPage)+1)
        lNextpage = Format(C_NEXTPAGE1,parms)
        parms=Array(Pageurl,CInt(CurrentPage)+1)
        lLastpage = Format(C_LASTPAGE1,parms)
       Else   
        lNextpage=C_NEXTPAGE2
        lLastpage=C_LASTPAGE2
       End If

       parms=Array(CurrentPage,PageCount)
       lCurrentpage = Format(C_CURRENTPAGE,parms)
       parms=Array(PageSize)
       lPagesize = Format(C_PAGESIZE,parms)
       parms=Array(Pageurl,CurrentPage)
       lGotopage = Format(C_GOTOPAGE,parms)

       p=lRecordCount&lFirstpage&lPrevpage&lNextpage&lLastpage&lCurrentpage&lPagesize&lGotopage
       Page = p

      End Function

     End Class
    %>

    AccHelper.asp
    <%
     '/// <summary>
     '/// AccHelper 的摘要說明。
     '/// </summary>
     Class AccHelper

      Public CONN_STRING

      '/// <summary>
      '/// 執行ExecuteNonQuery
      '/// </summary>
      '/// <param name="connString">連接字符</param>
      '/// <param name="cmdText">sql命令</param>
      Public Function ExecuteNonQuery(connString,cmdText)

       Dim objConn
       Set objConn = Server.CreateObject("ADODB.Connection")
       objConn.Open connString
       objConn.Execute(cmdText)

      End Function

      '/// <summary>
      '/// 執行ExecuteReader
      '/// </summary>
      '/// <param name="connString">連接字符</param>
      '/// <param name="cmdText">sql命令</param>
      '/// <returns>RS</returns>
      Public Function ExecuteReader(connString,cmdText)

       Dim objConn,objRS
       Set objConn = Server.CreateObject("ADODB.Connection")
       objConn.Open connString
       Set objRS = objConn.Execute(cmdText)
       Set ExecuteReader = objRS

      End Function

      '/// <summary>
      '/// 執行Recordset
      '/// </summary>
      '/// <param name="connString">連接字符</param>
      '/// <param name="cmdText">sql命令</param>
      '/// <returns>RS</returns>
      Public Function Recordset(connString,cmdText)

       Dim objConn,objRS
       Set objConn = Server.CreateObject("ADODB.Connection")
       objConn.Open connString
       Set objRS = Server.CreateObject("ADODB.RecordSet")
       objRS.Open cmdText,objConn,1,3
       Set Recordset = objRS

      End Function

      Private Sub Class_Initialize()
       CONN_STRING = "provider = microsoft.jet.oledb.4.0;data source=" & Server.Mappath("db.mdb")
      End Sub

     End Class
    %>
    ajax.js
    代碼如下:
    var http_request = false;

    function makeRequest(obj,url) {

        http_request = false;

        if (window.XMLHttpRequest) { // Mozilla, Safari,...
            http_request = new XMLHttpRequest();
            if (http_request.overrideMimeType) {
                http_request.overrideMimeType('text/xml');
            }
        } else if (window.ActiveXObject) { // IE
            try {
                http_request = new ActiveXObject("Msxml2.XMLHTTP");
            } catch (e) {
                try {
                http_request = new ActiveXObject("Microsoft.XMLHTTP");
                } catch (e) {}
            }
        }

        if (!http_request) {
            alert('Giving up :( Cannot create an XMLHTTP instance');
            return false;
        }

        http_request.onreadystatechange = function()
        {
            if (http_request.readyState == 4) {
                if (http_request.status == 200) {
                    updateObj(obj,http_request.responseText);
                }
                else
                {
                    updateObj(obj,"");
                }
            }
        }
        http_request.open('GET', url, true);
        http_request.send(null);
    }

    function updateObj(obj,data){
        obj.innerHTML = data;
    }
    function $(url){
        var obj = document.getElementById("content");
        obj.style.display='block';
        document.getElementById("container").style.margin="10px auto 0px";
        obj.innerHTML = "Loading…";
        makeRequest(obj,url);
    }

    html調用方法:
    代碼如下:
    <a href="#" onclick="$('news.html')">新聞</a><a href="#" onclick="$('product.html')">產品</a><a href="#" onclick="$('case.html')">案例</a><a href="#" onclick="$('contact.html')">聯系</a><a >博客</a>

    聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

    文檔

    asp簡單的ajax留言板(采用三層模式)

    asp簡單的ajax留言板(采用三層模式):好久沒有寫過asp了,這回寫個留言板還真覺得有點難度,競然寫了整整一天,哈哈.就只有留言其它的都什么也沒寫,采用三層結構(不知道算不算,本來對三層的概念很糊涂)演示www.zj55.com的留言板,希望各位大哥大姐如果發現有漏洞的話請在這里告訴我,千萬不要黑我的網
    推薦度:
    • 熱門焦點

    最新推薦

    猜你喜歡

    熱門推薦

    專題
    Top
    主站蜘蛛池模板: 国产精品videossex白浆| 国产在线精品一区二区高清不卡| 91探花福利精品国产自产在线| 精品欧美一区二区在线看片| 国产福利微拍精品一区二区| 亚洲精品欧美二区三区中文字幕| 亚洲愉拍自拍欧美精品| 精品国产v无码大片在线观看 | 自拍偷在线精品自拍偷无码专区| 99久久国产综合精品五月天喷水| 国产精品区免费视频| 亚洲国产精品综合久久一线| 国产精品无码国模私拍视频| 中文精品久久久久国产网址| 97热久久免费频精品99| 国语自产少妇精品视频蜜桃| 亚洲AV日韩精品久久久久| 亚洲精品美女久久777777| 欧美成人精品一区二区综合| 国产精品亚洲不卡一区二区三区 | 国产精品福利在线播放| 久久精品麻豆日日躁夜夜躁| 亚洲AV永久无码精品网站在线观看| 久久久精品久久久久久 | 日韩精品免费在线视频| 精品久久久久久综合日本| AAA级久久久精品无码片| 国产午夜福利精品久久2021| 久久精品天天中文字幕人妻| 人妻AV一区二区三区精品| 亚洲国产精品久久久天堂| 亚洲国产精品va在线播放| 少妇人妻无码精品视频| 无码人妻精品中文字幕| 亚洲国产精品一区二区成人片国内| 亚洲一区二区三区国产精品| 亚洲精品无码成人AAA片| 欧美精品v欧洲精品| 精品亚洲成a人片在线观看| 国产99视频精品免费专区| 国产成人精品高清在线观看99|