当前位置: 首页 > 图文教程 > 网络编程 > AJAX技术 > asp简单的ajax留言板

AJAX技术
自己动手封装的 ajax
Ajax 对象 包含post和get两种异步传输方式
Ajax 超时检查脚本
AJAX 简介及入门实例
ajax 开发守则 10条说明
Ajax 返回字符串的过滤实现代码
Ajax 程序开发中常见问题
AJAX 验证框架13个
ajax 入门基础之 XMLHttpRequest对象总结
基于AJAX的分页类实现代码
如何在Asp.net中使用HtmlArea编辑器
使用 jQuery 简化 Ajax 开发
ASP.NET 与 Ajax 的实现方式
AJAX技术介绍
Ajax程序设计入门
学习Ajax教程,详细了解Get与Post
关于Ajax responseText 的一点阐述
ajax中文乱码解决方法
AJAX中文问题总结
AJAX无刷新更新数据

AJAX技术 中的 asp简单的ajax留言板


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 43 ::
收藏到网摘: n/a

复制代码 代码如下:

<%@ 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
%>