ASP模拟MVC模型的编程方式

作者:蔡晓亮 来源:网页教学网 时间:2008-10-15 14:51:00 



大家都知道JAVA里最流行的是MVC模型的编程方式,如果你不知道MVC的概念,可以去网上搜索下,应该会马上找到N多资料。PHP5推出之后,也开始使用MVC模式开发,看来MVC确实有很大的吸引力!
我在平时开发ASP项目的时候,也借鉴了JAVA的这个开发模式,虽然实现的不是很好,但也使代码结构清晰了不少,大大方便了美工修改程序!

下面是我的代码,具体说明看注释。

程序主要实现是后台管理员的操作:添加,删除,修改

分两个程序,adminusers_class.asp,adminusers_gl.asp

相当于JAVA力一个servlet,一个bean!所以没有完全的实现MVC,只是模拟了一下!

adminusers_class.asp代码如下:

<%
rem *****************通用网站管理系统***********************************
rem 页面功能:网站后台管理员管理类
rem @author 蔡晓亮
rem @version 1.0
%>
<!--#include file="conn.asp"-->
<%
'管理员管理类
Class AdminUsersGl 
Dim ASO
Private adminuser_name
Private adminuser_password
Private admingroup_id
Private adminuser_isshow
Private adminuser_selfconfig
Private adminuser_realname
'构造函数开始
Private Sub Class_Initialize 
Set ASO=Server.CreateObject("Adodb.RecordSet")
End Sub 
'析构函数开始
Private Sub Class_Terminate 
Err.Clear 
Set ASO=Nothing 
End Sub

'添加管理员
Public Function AdminUsers_Add(adminuser_name,adminuser_password,admingroup_id,adminuser_realname,adminuser_selfconfig,adminuser_isshow,adminuser_language) 
sql="select adminuser_name from ce_adminusers where adminuser_name='"&adminuser_name&"'"
ASO.Open sql,conn,1,3
if ASO.RecordCount<>0 then
Response.Redirect("messages.asp?mess_name=DATA_ADD_FAILURE&back_page=adminusers_gl.asp?action=add")
end if
if ASO.RecordCount=0 then
ASO.Close
sql="insert into ce_adminusers(adminuser_name,adminuser_password,admingroup_id,adminuser_realname,adminuser_selfconfig,adminuser_isshow,adminuser_language) values('"&adminuser_name&"','"&adminuser_password&"',"&admingroup_id&",'"&adminuser_realname&"','"&adminuser_selfconfig&"','"&adminuser_isshow&"','"&adminuser_language&"')"
Response.Write(sql)
ASO.Open sql,conn,1,3
Response.Redirect("messages.asp?mess_name=ADD_SUCCESS&back_page=adminusers_gl.asp?action=add")
ASO.Close
end if
End Function

'取得某管理员信息
Public Function AdminUsers_Xx(adminuser_id) 
sql="select adminuser_id,adminuser_name,adminuser_password,admingroup_id,adminuser_isshow,adminuser_selfconfig,adminuser_language,adminuser_realname from ce_adminusers where adminuser_id="&adminuser_id
ASO.Open sql,conn,1,3
if ASO.RecordCount=0 then
Response.Redirect("messages.asp?mess_name=GET_Xx_FAILURE&back_page=adminusers_gl.asp?action=list")
else
adminuser_name=ASO("adminuser_name")
adminuser_password=ASO("adminuser_password")
admingroup_id=ASO("admingroup_id")
adminuser_isshow=ASO("adminuser_isshow")
adminuser_selfconfig=ASO("adminuser_selfconfig")
adminuser_language=ASO("adminuser_language")
adminuser_realname=ASO("adminuser_realname")
end if
ASO.close
End Function

'修改某管理员
Public Function AdminUsers_Modideal(adminuser_id,adminuser_name,adminuser_password,admingroup_id,adminuser_isshow,adminuser_selfconfig,adminuser_language,adminuser_realname) 
sql="update ce_adminusers set adminuser_name='"&adminuser_name&"',adminuser_password='"&adminuser_password&"',admingroup_id="&admingroup_id&",adminuser_isshow='"&adminuser_isshow&"',adminuser_selfconfig='"&adminuser_selfconfig&"',adminuser_language='"&adminuser_language&"',adminuser_realname='"&adminuser_realname&"' where adminuser_id="&adminuser_id
response.Write(sql)
ASO.Open sql,conn,1,3
Response.Redirect("messages.asp?mess_name=MODIFY_SUCCESS&back_page=adminusers_gl.asp?action=list")
ASO.Close
End Function

'取得管理员列表
Public Function AdminUsers_List() 
sql="Select ce_admingroups.admingroup_name, ce_adminusers.adminuser_id,ce_adminusers.adminuser_name, ce_adminusers.adminuser_logintimes, ce_adminusers.adminuser_isshow FROM ce_admingroups INNER JOIN ce_adminusers ON ce_admingroups.admingroup_id = ce_adminusers.admingroup_id"
ASO.Open sql,conn,1,3
while not ASO.eof
if ASO("adminuser_isshow")="Y" then
show="是"
else
show="否"
end if
response.write"<tr><td align=right class=td1 width=27% height=25><p align=center>"&ASO("adminuser_name")&"</td><td width=30% align=right class=td1><div align=center>"&ASO("admingroup_name")&"</div></td><td width=13% align=right class=td1><div align=center>"&ASO("adminuser_logintimes")&"</div></td><td width=10% height=25 class=td2><div align=center>"&show&"</div></td><td width=10% class=td2><div align=center><a href=adminusers_gl.asp?action=modi&adminuser_id="&ASO("adminuser_id")&">修改</a></div></td><td width=10% class=td2><div align=center><a href=adminusers_gl.asp?action=del&adminuser_id="&ASO("adminuser_id")&">删除</a></div></td></tr>"
ASO.movenext
wend
ASO.Close
End Function

'删除管理员
Public Function AdminUsers_Del(adminuser_id) 
sql="delete from ce_adminusers where adminuser_id="&adminuser_id
ASO.Open sql,conn,1,3
Response.Redirect("messages.asp?mess_name=DEL_SUCCESS&back_page=adminusers_gl.asp?action=list")
ASO.Close
End Function

'获取所有管理员组列表
Public Function Get_AdminGroups() 
sql="select admingroup_id,admingroup_name from ce_admingroups where admingroup_language='"&LANGUAGE&"' order by admingroup_id asc"
ASO.Open sql,conn,1,3
response.Write(" <select name=admingroup_id>")
while not ASO.eof
response.Write("<option value="&ASO("admingroup_id")&">"&ASO("admingroup_name")&"</option>")
ASO.movenext
wend
response.Write("</select>")
ASO.Close
End Function

'获取所有管理员组列表,并选中当前所在管理员组
Public Function Get_AdminGroups_S() 
sql="select admingroup_id,admingroup_name from ce_admingroups where admingroup_language='"&LANGUAGE&"' order by admingroup_id asc"
ASO.Open sql,conn,1,3
response.Write(" <select name=admingroup_id>")
while not ASO.eof
if ASO("admingroup_id")=admingroup_id then
s="selected"
else
s=""
end if
response.Write("<option value="&ASO("admingroup_id")&" "&s&">"&ASO("admingroup_name")&"</option>")
ASO.movenext
wend
response.Write("</select>")
ASO.Close
End Function

'公用属性,供外部程序调用
Public Property Get AUName 
AUName = adminuser_name 
End Property

Public Property Get AUPassword 
AUPassword = adminuser_password 
End Property

Public Property Get AUGroupid 
AUGroupid = admingroup_id 
End Property

Public Property Get AUIsshow 
AUIsshow = adminuser_isshow 
End Property

Public Property Get AUSelfconfig 
AUSelfconfig = adminuser_selfconfig 
End Property

Public Property Get AURealname 
AURealname = adminuser_realname 
End Property

End Class
%>

标签:
0
投稿

猜你喜欢

  • taobao cdn的缓存?

    2009-09-19 17:21:00
  • PHP curl get post 请求的封装函数示例【get、post、put、delete等请求类型】

    2023-05-25 01:24:18
  • 巧用Dreamweaver制作复杂图像

    2010-09-02 12:34:00
  • Oracle Index 的三个问题

    2010-07-26 12:53:00
  • 网站LOGO设计规范的思考--2.网络LOGO的设计

    2007-10-14 11:02:00
  • 分享到豆瓣、百度空间、新浪微博的js代码

    2011-03-17 12:58:00
  • JavaScript程序编码规范[译]

    2009-07-20 17:54:00
  • 通过SQL Server的位运算功能巧妙解决多选查询方法

    2012-01-29 17:54:35
  • Linux环境MySQL服务器级优化讲解

    2008-12-04 17:21:00
  • 在 CSS 中关于字体处理效果的思考

    2008-04-25 22:57:00
  • asp如何遍历目录及目录下的文件?

    2009-11-11 17:55:00
  • Stored Procedure(存储过程)编写经验和优化措施

    2008-03-12 12:03:00
  • SQL Server错误代码大全及解释(留着备用)

    2012-07-11 16:17:03
  • 在IE8中继续使用滤镜及IE8的一些CSS扩展属性

    2009-02-21 11:18:00
  • javascript图片预加载

    2009-08-30 12:47:00
  • 认识延迟时间为 0 的 setTimeout

    2008-04-04 16:37:00
  • 网页设计进阶之六-- 守住那些不能丢的东西

    2008-06-12 13:06:00
  • html网页颜色表大全(苏昱)

    2008-01-01 15:52:00
  • asp如何在本地机器上创建缓存?

    2010-06-18 19:27:00
  • 如何往SQL Server数据库传递日期数据?

    2010-06-08 09:29:00
  • asp之家 网络编程 m.aspxhome.com