ASP類比MVC模式編程

來源:互聯網
上載者:User

大家都知道JAVA裡最流行的是MVC模型的編程方式,如果你不知道MVC的概念,可以去網上搜尋下,應該會馬上找到N多資料。PHP5推出之後,也開始使用MVC模式開發,看來MVC確實有很大的吸引力!

我在平時開發ASP項目的時候,也借鑒了JAVA的這個開發模式,雖然實現的不是很好,但也使代碼結構清晰了不少,大大方便了美工修改程式!

下面是My Code,具體說明看注釋。

程式主要實現是後台管理員的操作:添加,刪除,修改

分兩個程式,adminusers_class.asp,adminusers_gl.asp

相當於JAVA力一個servlet,一個bean!所以沒有完全的實現MVC,只是類比了一下!

adminusers_class.asp代碼如下:

<%
rem *****************通用網站管理系統***********************************
rem 頁面功能:網站後台管理員管理類
rem @author 蔡曉亮
rem @version 1.0
rem @date 2005-2-22
%>
<!--#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
'擷取所有Administrator 群組列表
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("&nbsp;<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
'擷取所有Administrator 群組列表,並選中當前所在Administrator 群組
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("&nbsp;<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
%>

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.