怎么实现ASP页面和程序代码分离?

来源:百度知道 编辑:UC知道 时间:2024/05/04 22:27:47
接了一个活,里面有用户系统,新闻系统,办公管理系统,BBS系统等等,很复杂。感觉不能再像以前简单网站那样先做界面,然后写代码了。准备把界面交给一个朋友做,我只负责后台代码,但是一直想不到好的分工合作的解决方案。
之前尝试过ASP模板的分离方法,感觉不够效率,把模板页面代码存到application里面,是不是占用太多服务器资源,把页面存到数据库中肯定也不够效率,直接用FSO更不用说了。
也想过使用AJAX的方法,但是遨游这样的浏览器把JAVASCRIPT屏蔽掉,那AJAX不就用不了了吗。
使用CSS去定义,肯定是不能满足要求了。
其他还有什么方法呢?

看来这位兄弟对ASP已经很熟悉了,你都想不出办法,还有谁能想出办法?换ASP.NET吧,他能做到页面和代码分离,要分离得更彻底,用MVC.

如果你死抱着ASP的话,也不是没办法.就是自定义一套模板语言规则(可能不是一个标准名词),也就是说:用一个个特殊的符号来代替页面上需要有服务器代码的区域,形成一个含有特殊符号的模板文件,需要浏览网页时,先把这个模板文件读成一个字串,然后用正则表达式替换的方法再把这些特殊符号替换成服务器代码.

举个例子吧:
新闻系统中最常见的是显示最近更新的新闻列表,做模板时,你可以在需要放置新闻列表的位置上用一个自定的符号代替.比如用下面一句:
<myNews ListNum=5 source=NewsTop Class=NewsList></myNews>
上面这段标签就代表最新更新的新闻列表了.这里面的内容全部是你自己定义的,含义是,显示一个新闻列表(<myNews...></myNews>),共显示五条新闻(ListNum=5),使用哪个分类的RS(source=NewsTop),使用何种样式显示(Class=NewsList),当然你可以加入更多的属性.

在浏览时,先读取模板文件,用正则表达式匹配这段代码,分析这段代码中的属性(也就是取出ListNum/source/Class的值),然后写一个ASP的函数,用这些参数调用这个函数,这个函数返回的是一段显示新闻列表的ASP代码字串,用这段字符串把自定义的那部分替换掉.

说起来容易,做起来很繁的,只是一些思路,希望对你是有所帮助.