asp程序编写标准
星期四, 7月 27th, 2006asp程序对面向对象支持的不好,而且代码混杂重用率低为许多程序员所不耻。但是必须用asp怎么办?看看好的大型asp程序是怎么做的也许会受到启发。下面是我现在做的一个网络教学程序。框架是这样做的:
- <!–#include file="../include/config.asp" –>
- <!–#include file="config.asp" –>
- <%
- ‘页程序块
- title_subhead="副标题"
- title_page="页面标题"
- title_cont=""
- title_ie=title_cont&title_page&title_subhead&title
- ‘config_Login("s")
- ‘浏览权限:s为学生浏览 t为教师浏览 如果没有限制去掉改行
- ’str_info = Trim(Request.QueryString("str_info"))
- ‘警告和提示
- ‘action = Trim(Request.QueryString("action"))
- ‘命令
- %>
- <!–#include file="../include/header.asp" –>
- <!–页面内容开始 –>
- <div class="str_info"><%= str_info %></div>
- <!–页面内容结束 –>
- <!–#include file="../include/footer.asp" –>
先说说结构:
- ../include/config.asp:相当于asp.net中的web.config,全局变量、函数、过程(包括数据库连接)都放到里面
- config.asp:相当于asp.net子目录下的web.config,对当前目录的设置。比如每个目录的二级菜单不同,那么就在config里面分别设置二级菜单的变量。
- <%’页程序块%>:把本页的asp程序写在一起,尽量做到程序和页面内容分开。当然不可避免的要在内容中嵌入变量或者函数,就相当于asp.net的自定义控件了。
- ../include/header.asp:也许看不到这个页面里的东西你不会觉得妙,但是我可以形容一下,里面有html代码的定义和head、body标签,还有网页的logo、menu等信息。当然如果有登录状态或者是二级菜单的化也要放到里面。总之,在网页上面公用的部分都在这个页里。
- 网页内容:里面就是html代码了,每页不同的部分都在这里。
- ../include/footer.asp:这里主要包含copyright之类的东西。
然后举例简单说明怎么用(基本上就算掏底了):
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
- <title><%= title_ie %></title>
- <%= link_feed %>
- <link href="../style/web.css" rel="stylesheet" type="text/css" />
- </head>
- <body>
- <div id="header">
- <div id="state"><% config_loginState %></div>
- <div id="anav"><% =config_anav %></div>
- <h1><%= title %></h1>
- <div id="subhead"><%= title_subhead %></div>
- <div id="menu"><% =config_menu %></div>
- <div id="nav"><% =config_nav %></div>
- </div>
- <div id="main">
- <div class="left">
- <h2><%= title_page %></h2>
这是header里面的全部代码,里面所有的asp部分都是变量或者函数。大多数在各级config里面设置,少数比如title在config设置后,可能还需要在每页写个脚本,追加一部分。比如config里面已经设置了title=”citywill.net”,在某一页的程序块中可以这样追加title=”我这样编写asp - “&title
这就是本人的做法,并且认为这样做比较高效。当然在实践的过程中这个办法要不断的改善。欢迎大家批评。
2006年7月18日8:41:40 修改




