Posts Tagged ‘’

asp程序编写标准

星期四, 7月 27th, 2006

asp程序对面向对象支持的不好,而且代码混杂重用率低为许多程序员所不耻。但是必须用asp怎么办?看看好的大型asp程序是怎么做的也许会受到启发。下面是我现在做的一个网络教学程序。框架是这样做的:

  1. <!–#include file="../include/config.asp" –>
  2. <!–#include file="config.asp" –>
  3. <%
  4. ‘页程序块
  5. title_subhead="副标题"
  6. title_page="页面标题"
  7. title_cont=""
  8. title_ie=title_cont&title_page&title_subhead&title
  9. ‘config_Login("s")
  10. ‘浏览权限:s为学生浏览 t为教师浏览 如果没有限制去掉改行
  11.  
  12. ’str_info = Trim(Request.QueryString("str_info"))
  13. ‘警告和提示
  14. ‘action = Trim(Request.QueryString("action"))
  15. ‘命令
  16.  
  17. %>
  18. <!–#include file="../include/header.asp" –>
  19. <!–页面内容开始 –>
  20. <div class="str_info"><%= str_info %></div>
  21. <!–页面内容结束 –>
  22. <!–#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之类的东西。

然后举例简单说明怎么用(基本上就算掏底了):

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
  5. <title><%= title_ie %></title>
  6. <%= link_feed %>
  7. <link href="../style/web.css" rel="stylesheet" type="text/css" />
  8. </head>
  9. <body>
  10. <div id="header">
  11.     <div id="state"><% config_loginState %></div>
  12.     <div id="anav"><% =config_anav %></div>
  13.     <h1><%= title %></h1>
  14.     <div id="subhead"><%= title_subhead %></div>
  15.     <div id="menu"><% =config_menu %></div>
  16.     <div id="nav"><% =config_nav %></div>
  17. </div>
  18. <div id="main">
  19.     <div class="left">
  20.     <h2><%= title_page %></h2>

这是header里面的全部代码,里面所有的asp部分都是变量或者函数。大多数在各级config里面设置,少数比如title在config设置后,可能还需要在每页写个脚本,追加一部分。比如config里面已经设置了title=”citywill.net”,在某一页的程序块中可以这样追加title=”我这样编写asp - “&title

这就是本人的做法,并且认为这样做比较高效。当然在实践的过程中这个办法要不断的改善。欢迎大家批评。

2006年7月18日8:41:40 修改