Active Server Pages(ASP)文件是以 .asp 为扩展名的文本文件,这个文本文件可以包括下列部分的任意组合:

文本

HTML 标记

ASP 脚本命令

创建 .asp 文件非常容易。如果要在 HTML 文件中添加脚本,只需将该文件的扩展名 .htm 或 .html 替换为 .asp 就可以了。要使 .asp 文件可用于 Web 用户,请将这个新文件保存在 Web 站点上的目录中(请确定启用了该目录的脚本和执行权限)。使用浏览器查看该文件时,可以看到 ASP 处理并返回了 HTML 页。现在可以在 .asp 文件中添加脚本命令了。

注意 因为 .asp 文件需要额外的处理,请不要将所有的 HTML 页都转换为 ASP 页。应该只将包含脚本命令的文件转换为 .asp 文件。.asp 和 .htm 文件可以放置在相同的目录中。

使用任何的文本编辑器都可以创建 .asp 文件。使用那些带有 ASP 增强支持的编辑器将更能提高效率,如 Microsoft? Visual InterDev? 。如果您从未使用过 HTML,请考虑先使用 Microsoft FrontPage 。使用 FrontPage 创建文档和格式化文本就象使用文字处理工具一样简单。接下来还可以使用 Insert Script 命令在 FrontPage 创建的 HTML 页中加入简单的 ASP 命令。

加入 Script 命令

脚本是一系列的命令和指令。与 HTML 标签不同,script 命令指示 Web 服务器执行操作,而 HTML 标签只是简单地格式化文本或读取图形、视频及音频文件。Script 命令可以在变量中存储用户名,在返回到浏览器的页中显示用户名或将用户名存储在数据库中。

脚本命令通过定界符与文本区别开来。定界符是字符或一串字符,它标志单元开始或结束。HTML 使用定界符棗小于号(<)和大于号(>)括入 HTML 标签。

ASP 使用定界符 <% 和 %> 括入脚本命令。您可以在定界符中括入任何命令,只要这些命令对正在使用的脚本语言有效。下面的例子展示了包含脚本命令的简单的 HTML 页:

<HTML>

<BODY>

This page was last refreshed on <%= Now %>.

</BODY>

</HTML>

VBScript 函数 Now 返回当前的日期和时间。Web 服务器处理该页时,会使用当前的日期和时间替换 <%= Now %> 并且将该页返回到浏览器:

This page was last refreshed on 8/1/97 2:20:00 PM.

定界符括入的命令被称为主脚本命令。这些命令被主脚本语言处理。在脚本定界符中使用的任何命令都必须对主脚本语言有效。默认情况下,主脚本语言是 VBScript。要设置另一种语言。请参阅 使用脚本语言。

如果您已经熟悉了客户端脚本编写(编写在浏览器上运行的脚本),请注意不要用 HTML <SCRIPT> 元素括入表达式。在编写服务器端脚本时,只用 <SCRIPT> 元素在主脚本语言外的其他语言中定义过程。关于详细信息,请参阅 使用脚本语言。

合成 HTML 和脚本命令

在 ASP 定界符中可以包含任何在主脚本语言中合法的语句、表达式、过程或操作符。在 VBScript 和其他脚本语言中,语句是语法完整的单元,该单元表达某项活动、声明或定义。下面的条件语句 If...Then...Else 是一条常见的 VBScript 语句。

<% If Time >= #12:00:00 AM# And Time < #12:00:00 PM# Then

Greeting = "Good Morning!"

Else

Greeting = "Hello!"

End If

%>

<%= Greeting %>

这条语句将值 "Good Morning!" 或值 "Hello!" 存储在变量 greeting 中。<%= Greeting %> 命令将当前的变量值发送到浏览器中。

这样,在(Web 服务器所在时区的)正午 12 点前浏览该脚本的用户将看到:

Good Morning!

在正午 12 点或以后浏览此脚本的用户将看到:

Hello!

在语句的不同部分之间可以加入 HTML 文本。例如,下面的脚本在If...Then...Else 语句中加入了 HTML,产生了与上面脚本同样的结果:

<% If Time >= #12:00:00 AM# And Time < #12:00:00 PM# Then %>

Good Morning!

<% Else %>

Hello!

<% End If %>

如果条件为真棗也就是说,如果时间为午夜、午夜以后或者中午以前,那么 Web 服务器将跟随条件(“Good Morning”)的 HTML 发送到浏览器;否则,将跟随 Else 的 HTML(“Hello”)发送到浏览器。这种混合 HTML 和脚本命令的方式可以方便地将 If...Then...Else 语句变换为几行 HTML 文本。如果要在 Web 页上显示多处问候,前一个例子更为有用。只需要设置一次变量,就可以重复显示。

最好从脚本命令中将 HTML 文本返回到浏览器,而不用脚本命令散布 HTML 文本。要将文本返回到浏览器,请使用 ASP 的内建对象 Response。下面的例子可以产生与前一个脚本同样的结果:

<%

If Time >= #12:00:00 AM# And Time < #12:00:00 PM# Then

Response.Write "Good Morning!"

Else

Response.Write "Hello!"

End If

%>

Response.Write 将跟随的文本发送到浏览器。要动态构造返回浏览器的文本,请在语句中使用 Response.Write。例如,可能要构造包含一些变量值的字符串。在 使用组件和对象 以及 向浏览器传送内容 中了解到更多有关 Response 对象和一般对象的信息。现在,先了解将脚本命令插入到 HTML 页中的几种方法。

在 ASP 定界符中可以包含用默认主脚本语言编写的过程。详细信息,请参阅 使用脚本语言。

如果正在使用 JScript 命令,可以插入花括号指示语句块直接进入 ASP 命令,而不用考虑它是否夹杂着 HTML 标签和文本。例如:

<% if (screenresolution == "low") { %>

This is the text version of a page.

<% } else { %>

This is the multimedia version of a page.

<% } %>

使用 ASP 指令

ASP 提供了您使用的脚本语言以外的指令。这是一些输出指令和处理指令。

ASP 的输出指令 <%= expression %> 显示表达式的值。这个输出指令等同于使用 Response.Write 显示信息。例如,输出表达式 <%= sport %> 将文字 climbing(变量当前的值)传送到浏览器。

ASP 处理指令 <%@ keyword %> 为 ASP 提供处理 .asp 文件所需的信息。例如,下面的指令将 VBScript 设为该页的主脚本语言:

<%@ LANGUAGE=VBScript %>

处理指令必须出现在 .asp 文件的第一行。不要将处理指令放在包含 #include 语句的文件中。必须在 at 标记(@)和关键字之间加入一个空格。处理指令有下列关键字:

LANGUAGE 关键字设置页的脚本语言;请参阅 使用脚本语言。

CODEPAGE 关键字设置页的代码页(字符编码);请参阅 使用国际站点。

LCID 关键字设置页的现场标识符;请参阅 使用国际站点。

TRANSACTION 关键字指定将在事务处理环境下运行的页;请参阅 创建事务处理脚本。

ENABLESESSIONSTATE 关键字指定 ASP 页是否使用会话状态;请参阅 管理会话。

可以在单个指令中包含多个关键字;关键字/值对之间必须由空格分开。不要在等号(=)左右加入空格。下面的例子中设置了脚本语言和代码页:

<%@ LANGUAGE=JScript CODEPAGE=932 %>

在脚本中的空白字符

如果您的主脚本语言是 VBScript 或者 JScript,ASP 从指令中删除空白字符。使用其他脚本语言时,ASP 保留空白字符,这样那些需要使用位置和缩进的语言,如 Python 就可以被正确解释了。空白字符包括空格、制表符、回车和换行符。

使用 VBScript 和 JScript 时,在打开定界符之后和关闭定界符之前使用空白字符更容易阅读命令。下面的命令都是合法的:

<% Color = "Green" %>

<%Color="Green"%>

<%

Color = "Green"

%>

ASP 将一个语句的关闭定界符与下一个语句的打开定界符之间的空白字符删除。要保留两个语句间的空白字符,比如在句子中显示变量值的时候,请使用 HTML 不间断空符(&nbsp;)。例如:

<% 'Define two variables with string values.

Hello = "Hello"

World = "World"

%>

<P>My response is to say "<%= Hello %>&nbsp;<%= World %>." </P>

如何创建一个asp页面的更多相关文章

  1. 在一个空ASP.NET Web项目上创建一个ASP.NET Web API 2.0应用

    由于ASP.NET Web API具有与ASP.NET MVC类似的编程方式,再加上目前市面上专门介绍ASP.NET Web API 的书籍少之又少(我们看到的相关内容往往是某本介绍ASP.NET M ...

  2. ASP.NET没有魔法——开篇-用VS创建一个ASP.NET Web程序

    为什么写这一系列文章? 本系列文章基于ASP.NET MVC,在ASP.NET Core已经发布2.0版本,微服务漫天的今天为什么还写ASP.NET?. 答:虽然现在已经有ASP.NET Core并且 ...

  3. ASP.NET开发实战——(一)开篇-用VS创建一个ASP.NET Web程序

        本文是本系列文章第一篇,主要通过建立一个默认ASP.NET MVC项目来引出与ASP.NET MVC相关的功能,由于ASP.NET MVC一个简单的模板就具备了数据库操作.身份验证.输入数据校 ...

  4. 如何创建一个Asp .Net Web Api项目

    1.点击文件=>新建=>项目 2.创建一个Asp .NET Web项目 3.选择Empty,然后选中下面的MVC和Web Api,也可以直接选择Web Api选项,注意将身份验证设置为无身 ...

  5. 创建一个ASP.NET MVC OutputCache ActionFilterAttribute

    在每一个web应用程序中, 有的情况下,你想在一段时间内缓存一个具体的页面HTML输出,因为相关的数据和处理并不是总是变化.这种缓存的响应是储存在服务器的内存中.因为没有必要的额外处理,它提供了非常快 ...

  6. VS2017创建一个 ASP.NET Core2.0 应用,并搭建 MVC 框架

    https://testerhome.com/topics/11747 1.使用最新版本的VS2017,并安装.NET Core2.0中相关开发工具   2.打开VS2017,点击文件-新建-项目,选 ...

  7. 为Go Web App 创建一个主页面

    原文地址    大多数web app都有一个相同的布局.这个布局可能包含一个header或者footer,甚至可能包含一个导航菜单.Go的标准库提供一个简单的方式来创建这些基本元素,通过被不同的页面重 ...

  8. 20 如何通过pycharm快速的创建一个html页面

    1.打开pycharm并且新建一个html页面,如下图所示. 2.删除html页面中默认的内容,之后在页面中输入!,之后点击tab即可完成一个html页面的框架新增.

  9. 如何利用Visual studio 2010创建一个ASP网站?

    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="UserLogin.aspx.c ...

随机推荐

  1. C++调用matlab编程

    C++调用Matlab,实在是不得已的方法.原文链接: http://kylen314.blog.com/2012/12/11/matlab_for_cplusplus/  这是个很善良的博客,只出现 ...

  2. Kinect安装与配置(openNI2)

    原文链接:http://blog.csdn.net/chenxin_130/article/details/8580636 简介 最近OpenNI2的推出,小斤也要多给博客除除草了,并在闲暇之余做一些 ...

  3. .NET 请求和接收FormData的值

    <body> <div> <!-- 上传单个文件---> <form action="/Home/UpdateFile2" enctype ...

  4. div与div之间的拖拽

    <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...

  5. JSplitPane按比例分割的问题

    JSplitPane看似比Delphi的spliter难用许多.不过介于swing可以方便的使用记事本一类文本编辑器直接书写依据布局的界面代码我们还是姑且容忍它带来的不便.但在使用JSplitPane ...

  6. [SDOI2016]数字配对(费用流+贪心+trick)

    重点是如何找到可以配对的\(a[i]\)和\(a[j]\). 把\(a[i]\)分解质因数.设\(a[i]\)分解出的质因数的数量为\(cnt[i]\). 设\(a[i]\geq a[j]\) 那么\ ...

  7. BZOJ 3878 [AHOI&JSOI2014]奇怪的计算器 (线段树)

    题面:BZOJ传送门 洛谷传送门 线段树好题 题目保证$a$一定是正整数,容易发现计算结果是单调的 我们把询问离线,并按照从小到大排序 某次操作可能导致某些位置达到边界$L/R$ 根据单调性的结论 这 ...

  8. BZOJ 1835 [ZJOI2010]基站选址 (线段树优化DP)

    题目大意:略 洛谷题面传送门 BZOJ题面传送门 注意题目的描述,是村庄在一个范围内去覆盖基站,而不是基站覆盖村庄,别理解错了 定义$f[i][k]$表示只考虑前i个村庄,一共建了$k$个基站,最后一 ...

  9. @Bean 指定初始化和销毁方法

    bean 的生命周期 bean 的创建 --> 初始化 --> 销毁 ioc 容器管理 bean 的声明周期 可以自定义初始化和销毁方法 构造器( 对象创建 )被调用时机 单实例:在容器启 ...

  10. botot framework选择下拉框

    1,下拉框不能输入文字,如图: 方法: select from list    id=xxx   要选择的数据 2.下拉框可输入文字,如图: 方法: click element   di=xxx   ...