ASP应用之模板采用

初学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的模板功能基本完成,剩下的就是:建立具备编辑模板功能的程序页面,将库文件改变为自己所需要程序功能……

转载于:https://www.cnblogs.com/Athrun/archive/2008/03/28/1126400.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/264622.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mysql 8.0.22_最新版MySQL 8.0.22下载安装超详细教程(Windows 64位)

前言前几天下载安装了最新版的MySQL 8.0.22&#xff0c;遇到了不少问题&#xff0c;参考了一些方法&#xff0c;最终得以解决。今天将自己的安装过程记录下来&#xff0c;希望对各位有所帮助。一、MySQL 8.0.22官网下载点击进入MySQL官网&#xff1a;https://www.mysql.com/① …

RedHat 脚本搭建dns服务!

1.配置好yum脚本 #!/bin/bash# by breaklinux echo "--------------- mount cdrom ------------------"umount /dev/cdrom &> /dev/nullmount /dev/cdrom /mnt &> /dev/nullecho "--------------- create yum ------------------"touch /etc…

国外开源.Net 系统概述

转载自&#xff1a;http://www.aspx1.com (ASP.NET学习门户) 搜索了几个搜索引擎&#xff0c;找了一些.net的开源系统&#xff0c;&#xff08;申明一下&#xff0c;下面的看只是个人看法&#xff0c;只供参考&#xff09;。 一、DotNetNuke DotNetNuke是一个.Net平台下&#x…

dateframe行列插入和删除操作

ar np.array(list("ABCDEFG")) # array只是Convert&#xff0c;默认会copy源值。asarray也是Convert,如果源值是array则不copy.print(ar)ar np.full((2,4), 3, np.int32) # 创建一个指定初始值的数组print(ar)zero_ar np.zeros(10, np.int32) # 创建一个初始…

android获取网络图片

2019独角兽企业重金招聘Python工程师标准>>> 资源描述: 关于android获取网络图片主要是把网络图片的数据流读入到内存中然后用1.Bitmap bitMap BitmapFactory.decodeByteArray(data, 0, length); 方法来将图片流传化为bitmap类型 这样才能用到1.imageView.setImage…

gitlab备份及恢复

gitlab备份步骤 https://blog.csdn.net/qq_31666147/article/details/79844107 gitlab版本 下载地址 https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/ gitlab-ce-10.4.4-ce.0.el7.x86_64.rpm 备份恢复gitlib版本必须相同 转载于:https://www.cnblogs.com/mutong1228…

WSS Alert(邮件提醒) 定制

项目需要&#xff0c;研究了一下WSS的Alert定制。 定制有两种方法: (方法1)修改模板文件 默认模板是12\TEMPLATE\XML\alerttemplates.xml,将这个模板复制一份修改,然后用stsadm命令添加模板: STSADM -o updatealerttemplates -url <http://urlname> -filename <your w…

windows log日志分割_如何将日志记录到 Windows事件日志 中

每当出现一些未捕获异常时&#xff0c;操作系统都会将异常信息写入到 Windows 事件日志 中&#xff0c;可以通过 Windows 事件查看器 查看&#xff0c;如下图&#xff1a; 这篇文章将会讨论如何使用编程的方式将日志记录到 Windows 事件日志 中。 安装 EventLog 要想在 .NET Co…

偷窃转基因玉米种子引发中美打农业官司

偷窃转基因玉米种子引发中美打农业官司 请看下面相片&#xff1a; 这张相片是孩子们与转基因玉米在一起的景象。转基因玉米颗粒饱满&#xff0c;孩子们的小手差点儿抓不住&#xff08;由于玉米棒子非常粗&#xff09;。广大农民喜欢这样的抗虫、耐药并且产量高的农作物&#xf…

SQL Server : 禁止在SQL Server中生成用户实例

一、打开SQL工具&#xff0c;右键点服务器&#xff0c;新建查询 二、输入如下查询&#xff1a;exec sp_configure user instances enabled, 1 三、在查询中再运行&#xff1a;Reconfigure 四、然后重启SQL SERVER服务转载于:https://www.cnblogs.com/dushouke/arch…

mysql中视图的概念_MySql中的视图的概念及应用

视图的基本概念视图是从一个或几个基本表(或者视图)导出的表。它与基本表不同&#xff0c;是一个虚表。数据库只存放视图的定义&#xff0c;而不存放视图对应的数据&#xff0c;这些数据仍存放在原来的基本表中。所以基本表中的数据发生变化&#xff0c;从视图中查询出的数据也…

bzoj1190:[HNOI2007]梦幻岛宝珠

传送门 二进制分组优化背包 理解的差不多了&#xff0c;但是无法具体阐述&#xff0c;留坑 代码&#xff1a; #include<cstdio> #include<iostream> #include<algorithm> #include<vector> #include<cstring> using namespace std; void read(in…

JQuery常用的代码片段

2019独角兽企业重金招聘Python工程师标准>>> JQuery常用的代码片段 JQuery在当前众多网站开发中都有用到。他简易的操作以及对各个浏览器的兼容性&#xff0c;被广大的开发者一致看好。 下面是一些常用实用的 JQuery 代码片段。看看有没有需要收藏的吧&#xff1a; …

Lession 14 Do you speak Englist?

1过去完成时:1>动作发生在过去的过去;在过去动作完成,对过去产生影响,过去的时间壮语;2>原打算,但没实际的愿望;3>没听清,再次提问;had 过去分词2 New words and Expressions;amusing;experience;wave;lift;reply;language;journey;1>speak;speaker;say;说话内容;…

linux中mysql与eclipse_Linux下eclipse CDT及mysql安装,c++访问mysql数据库

5. 关于eclipse编译project由于程序中有#include所以需要在eclipse中加上对mysql.h的路径项目->属性->C/CBuild -> settings -> gcc c complier ->includes -> include paths添加两个路径&#xff1a;/usr/lib/mysql&#xff1b;/usr/include/mysql对于64位的…

linux环境配置

在安装linux之前首先要明白linux系统的功能特性&#xff0c;linux是多少位 的&#xff0c;对要使用的工具要有大体的了解&#xff0c;那样就不至于在之后的安装中耽误太多时间&#xff0c;比如安装的系统是32位的就要安装与之对应的工具。我们大体上了解一下linux能支持的又比较…

tomcat 启动速度慢背后的真相

1. tomcat 启动慢 在线上环境中&#xff0c;我们经常会遇到类似的问题&#xff0c;就是tomcat 启动比较慢&#xff0c;查看内存和cpu,io都是正常的&#xff0c;但是启动很慢&#xff0c;有的时候长达几分钟&#xff0c;这到底是什么原因导致的。 1.1 tomcat 获取随机值阻塞 ​ …

[导入]相片: 23853741.jpg

文章来源:http://img.blog.163.com/photo/NdAK9XEb2a-KOR7zpDWpAA/588564176302178421.jpg转载于:https://www.cnblogs.com/baiyirui/archive/2008/04/27/1173117.html

手摇泵PHP一32_节能手摇泵的制作方法

本实用新型属于液压动力装置技术领域&#xff0c;特指一种节能手摇泵。背景技术&#xff1a;如图1-2所示&#xff0c;目前&#xff0c;手摇泵采用分体式结构&#xff0c;比如&#xff0c;左横向出油通道和右横向出油通道是装配在泵体上的&#xff0c;由于零件较多&#xff0c;所…

2018-07-10 为Chrome和火狐浏览器编写扩展

由于扩展标准的逐渐一致, 现在同一扩展代码库已经有可能同时用于Chrome和火狐. 下面是一个简单的工具栏按钮和弹窗(尚无任何实际功能): 代码库地址: nobodxbodon/suan1 所有代码: manifest.json: {"manifest_version": 2,"name": "算一","v…