我一直使用Microsoft的FrontPage98来开发ASP/ADO之类的Internet数据库应用程序。现在我听说许多人都非常信奉采用InterDev做为开发那些程序的工具,因为他们认为FrontPage搞乱了代码。但是在这里,我要列举一些极好的理由来说明我为什么更喜欢FrontPage。
我的许多客户都是企业家,他们认为,对于一个Web站点来说,FrontPage和其他所见即所得的Web站点开发工具能做到不用编程就建立页面。当然,“不用编程”是对于一定的内容,而不是关于ASP的站点。
你可以使用NotePad,其他的文字编辑器,或者VisualInterDev来创建工作很好的ASPWeb页面,但是如果被FrontPage或者其他所见即所得的编辑器处理后,代码就会变乱,因为这些编辑器不能读取和理解页面中的ASP脚本,所以认为页面代码发生了错误,然后就“更正”它。
但是,如果你理解了FrontPage喜欢的和不喜欢的,并且清楚你的代码,你就会发现所有的问题都会消失。FrontPage编辑器确实能创建ASP页面,就象用NotePad、VisualInterDev等等编辑器能做的一样。
那么,优势在哪里呢?我可以给编程者每小时100元,但我的客户却不愿意为HTML设计支付每小时100元的费用。由于这个原因,他们或者自己设计,或者雇人设计然后支付费用。我在页面中编写ASP代码,然后交付给他们。随后,如果他们想对程序的风格等做修改,他们就可以在FrontPage或者其他所见即所得的编辑器中打开页面,在即使没有编程知识的条件下,非常简单并快速地修改HTML页面。
举例
下面举一个例子。这里的讨论针对FrontPage98,它的用户友好性大大不如FrontPage2000,但是却广泛地应用。
设想一下,页面上有一个表单,你想根据从查询字符串传递过来的变量而有条件地设置表单的Action属性。可以编写几个表单标记,并使用变量的数值来选择在页面中放置哪个表单。为了讨论的目的,用方括号将HTML代码包含。
<%
Dimmyvar
myvar=Request.QueryString("myvar")%>
<%ifmyvar="1"then%>
[<formname="myform"ACTION="mypage1.asp"METHOD=POST>]
<%elseifmyvar="2"then%>
[<formname="myform"ACTION="mypage2.asp"METHOD=POST>]
<%elseifmyvar="3"then%>
[<formname="myform"ACTION="mypage3.asp"METHOD=POST>]
<%else%>
[<formname="myform"ACTION="mypage4.asp"METHOD=POST>]
<%endif
%>
'formHTMLhere
[</form>]
将发生什么?FrontPage已经添加了一串的< /form >标记,所以在页面上建立了4个独立的表单。这并不是我们所需要的,对于这个例子,让我们忘记使用FrontPage,好吗?哦,不!试一试下面的代码:
<%
Dim myvar, strAction
myvar = Request.QueryString("myvar")
if myvar = "1" then
strAction = "mypage1.asp"
elseif myvar = "2" then
strAction = "mypage2.asp"
elseif myvar = "3" then
strAction = "mypage3.asp"
else
strAction = "mypage4.asp"
end if
%>
[<form name="myform" ACTION="]<%=strAction%>" [METHOD="POST"] >
'form HTML here...
[</form>]
不用编写整个的表单标记,这里只编写了一小块代码来定义字符串变量的数值,然后将它合并到一个单一表单定义中。瞧!FrontPage恰到好处,客户也能运用自如!
这种技巧能应用于页面上任何种类的对象。不用编写出完整的HTML代码,仅仅在ASP代码块中替换不同的变量就可以!
如何应用FrontPage加速产品开发
这里有一些在开发ASP页面时充分应用FrontPage的东西。不是很久前,我想构造一个包含文件,它将从Amazon.com在线书店中随机显示一些书籍,就象下面的一样:
这个工作将包括:建立一个固定宽度的表格,其中合并一段从15个不同标题中选择一个随机标题的代码,显示一个Amazon中相关的图形-书籍标题的图形,以及书籍的名字,并带有存放在Web站点位置的URL链接。在需要的页面,就可以插入这个小表格,使用如下的代码:< % #INCLUDE FILE="books.inc" %> 。