分页: 31/31 第一页 上页 21 22 23 24 25 26 27 28 29 30 31 最后页 [ 显示模式: 摘要 | 列表 ]

ASP应用之模板采用

[不指定 2006/04/01 12:33 | by admin ]
初学ASP,程序是能勉强写出来了,但若每进行一次网站页面的改版,所有的源程序都将进行一次移植手术。为此所耗费的人力精力不计其数,甚至一不小心得不偿失、前功尽弃。

所以,梦想着那么大段的程序代码变成几个简单的字符代替,这样只要设计好页面把该功能插入就OK了。其实这也简单,只需将实现该功能的程序代码做成子程序,然后主页调用就可以了。

很多时候,在博客中国,你会选择到很多的模板,甚至有可能自己来设计;或者采用猪飞飞BLOG的各大站长都将其站点改得不近相同……这些,我们都归功于ASP采用模板的功能。

那下面偶就借花献佛,将模板拿来分析,以馈各位朋友。

首先,模板需要在线修改,则应采用数据库保存模板代码

所谓的模板,就是设计完工的标准的HTML代码,其中需要由程序实现的功能部分将采用特殊字符串代替。然,这些特殊字符串需要在显示的时候被编译为对应的功能。

2,假设第一模板内容代码

将下列代码拷贝到m_html字段中


<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>testmb</title>
</head>
<body leftmargin="0" topmargin="0">
<table width="100%" height="100%" border="0" cellpadding="5"
cellspacing="2">
 <tr align="right" bgcolor="#CCCCCC">
   <td height="20" colspan="2">$cntop$</td>
 </tr>
 <tr valign="top">
   <td width="25%" bgcolor="#e5e5e5">$cnleft$</td>
   <td width="74%" bgcolor="#f3f3f3">$cnright$</td>
 </tr>
</table>
</body>
</html>

注意$cntop$、$cnleft$、$cnright$,它们将要实现某些具体的程序功能

3,建立数据库连接文件conn.asp

<%
set conn= Server.CreateObject("ADODB.Connection")
connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath("testmb.mdb")
conn.Open connstr
%>

4,建立特殊字符串转换所需要的库文件lib.asp

该文件的主要作用是将实现某些功能的ASP程序做成字程序,以方便调用。

<%
dim topcode
sub cntop()
   topcode="现在时间是:"
   topcode=topcode&now()
end sub

dim leftcode,i
sub cnleft()
   for i = 1 to 5
   leftcode=leftcode&"<p>cnbruce.com"
   next
end sub

dim rightcode
sub cnright()
   for i = 1 to 9
   rightcode=rightcode&"<hr color="&i&i&i&i&i&i&">"
   next
end sub
%>

5,最后,调用数据库中的模板代码,将特殊字符串转换。

<!--#include file="conn.asp" -->
<!--#include file="lib.asp" -->
<%
sql="select * from moban where m_id=1"
set rs=Server.CreateObject("adodb.recordset")
rs.open sql,conn,1,1
mb_code=rs("m_html")
rs.close
set rs=nothing

cntop()
mb_code=replace(mb_code,"$cntop$",topcode)
cnleft()
mb_code=replace(mb_code,"$cnleft$",leftcode)
cnright()
mb_code=replace(mb_code,"$cnright$",rightcode)

response.write mb_code
%>


该页主要作用是将模板代码进行显示,并将其中的特殊代码转变为相对应子程序功能。

至此,ASP的模板功能基本完成,剩下的就是:建立具备编辑模板功能的程序页面,将库文件改变为自己所需要程序功能……

P哈P的用处

[不指定 2006/04/01 11:17 | by admin ]
自打我学会了PHP之后,我腰不酸了,腿不痛,走起路来也有精神了、
您认准了,外国人生产的,效果啊!真的不错!
习惯于过程式的开发,一直向往着面向对象。无奈半路出家人,没有一点内力基础,看了一大堆面向对象的书也只是看得一头雾水。对于MVC的概念也是偶然了解到的,感觉能和WEB开发结合起来让项目面向对象化。以下是我一点点心得。
先介绍一下MVC的概念:
MVC(Model-View-Controller),即把一个应用的输入、输出、处理流程按照Model、View、Controller的方式进行分离,这样一个应用被分成三个层——模型层、视图层、控制层。
 模型(Model):就是业务流程/状态的处理以及业务规则的制定。即是MVC的主要核心。
 视图(View):代表用户交互界面,也就是Web的HTML界面。
 控制(Controller):可以理解为从用户接收请求, 将模型与视图匹配在一起,共同完成用户的请求。

以下以一个简单的留言板作为分析例子。

1)从上面的概念来看,留言板可以切成三部份。
 模型(M):包含 数据库链接、数据添加修改删除操作。
 视图(V):包含 各种界面,如(留言板列表,管理控制页面,添加修改删除界面等一切用户看得到的页面。)
 控制(C):包含 接到由视图(V)发送过来的请求,转给模型(M),然后根据模型(M)的反馈决定显示界面。

2)三部份已经出来,下面是更进一步的细化。
 模型(M)
  数据链接:数据链接参数、链接失败处理、SQL注入防御处理、日文字符替换处理。
  数据操作:留言的添加删除修改操作、管理员帐号管理、留言板系统设定,操作完毕后以约定好的编码方式返回操作结果。
  文件操作:留言板样式设定、版权设定、搜索引擎关键字设定、留言板标题设定。(由于资料更新不多,但读取频繁,故使用文件方式保存)

 视图(V)
  留言添加页:判断留言者是否管理员、判断本次留言是回复还是新建留言。
  留言管理页:批量删除留言、查询留言、。
  留言显示页:判断留言是否为管理员专用、判断本留言是否为管理员发布、是否允许回复、是否显示留言者的敏感资料、留言是否需要审核后再显示。

 控制(C)
  数据操作:接收添加资料,转交给模型(M)里数据操作中留言操作方法,并获取约定好的编码告诉留言者是否留言成功。
  文件操作:获取设定类型,转交给模型(M)里文件操作的对应操作方法,并获取约定好的编码告诉管理员是否设定成功与下一步操作。

3)系统基本上细化完毕,下一步就是将以上分析出来的东西封装成Class
  模型(M):
    数据库链接部份可以全部封装成一个Class,
    数据操作部份则是把留言的添加删除修改操作部份封成一个Class
    管理员帐号管理及留言板设定封装成一个Class
    文件操作部份则可以全封装成一个Class
  视图(V):
    视图部可均是以文件模式出现,也可以将部份代码封装后引用。也可以引用现有的模板类实现代码分离等。
  控制(C):
    由于直接操作,可以避免使用Class,而是以文件模式出现,每个文件处理模型(M)中的某个类。并完成控制(C)的工作。
    操作结果编码可以作成一个集合来引用。
分页: 31/31 第一页 上页 21 22 23 24 25 26 27 28 29 30 31 最后页 [ 显示模式: 摘要 | 列表 ]