ASP.NET学习笔记(一)相关概念

ASP.NET 是一个开发框架,用于通过 HTML、CSS、JavaScript 以及服务器脚本来构建网页和网站。

ASP.NET 支持三种开发模式:

Web Pages MVC Web Forms
单页面模型 模型视图控制器 事件驱动模型

ASP 是Active Server Pages (动态服务器页面),是在IIS( Internet Information Services) 中运行的程序

IIS 是一个基于因特网的服务的集合,由微软开发,在 Windows 平台上使用。

ASP 和 HTML 的不同

  • 当浏览器请求某个 HTML 文件时,服务器会返回这个文件
  • 而当浏览器请求某个 ASP 文件时,IIS 将这个请求传递至 ASP 引擎。ASP 引擎会逐行地读取这个文件,并执行文件中的脚本。最后,ASP 文件将以纯 HTML 的形式返回到浏览器。

ASP.NET

ASP.NET 是新一代的 ASP。它无法兼容经典 ASP,但 ASP.NET 可以引用 ASP。

ASP.NET 页面需要编译,因此比经典 ASP 更快。

ASP.NET 拥有更好的语言支持,大量用户控件,基于 XML 的组件,以及对用户认证的整合。

ASP.NET 页面的扩展名是 .aspx,通常由 VB (Visual Basic) 或 C# (C sharp) 编写。

ASP.NET 中的用户控件可以通过不同的语言进行编写,包括 C++ 和 Java。

当浏览器请求 ASP.NET 文件时,ASP.NET 引擎读取该文件,编译并执行文件中的脚本,然后以纯 HTML 向浏览器返回结果。

ASP 语法规则

ASP 文件包含 HTML 标签,也能够包含服务器端脚本,这些脚本被分隔符 <%和 %> 包围起来。服务器脚本在服务器上执行,可包含合法的表达式、语句、或者运算符。

变量的生存期

在子程序外声明的变量可被 ASP 文件中的任何脚本访问和修改。

在子程序中声明的变量只有当子程序每次执行时才会被创建和撤销。子程序外的脚本无法访问和修改该变量。

如需声明供多个 ASP 文件使用的变量,请将变量声明为 session 变量或者 application 变量。

表单验证

Request.QueryString 命令用于收集使用 method="get" 的表单中的值。Request.Form 命令用于收集使用 method="post" 的表单中的值。

只要有可能,就尽量在浏览器上对用户的输入进行验证(通过客户端脚本)。浏览器的验证速度更快,并可以减少服务器的负载。

如果用户输入会保存到数据库中,那么您应该考虑使用服务器端验证。有一种在服务器端验证表单的好方法,就是将(验证过的)表单传回表单页面,而不是转至不同的页面。用户随后就可以在同一个页面中得到错误的信息。这样做更易于用户发现错误。

Session 变量

Session 变量用于存储单一用户的信息,并且对一个应用程序中的所有页面均有效。存储于 session 中的典型数据是姓名、id 或参数。

Application 变量

Application 变量同样对一个应用程序中的所有页面均有效。Application 变量用于存储一个特定的应用程序中所有用户的信息。

Cookie

cookie 常用来对用户进行识别。cookie 是一种服务器留在用户电脑中的小文件。每当同一台电脑通过浏览器请求页面时,这台电脑也会发送 cookie。通过 ASP能够创建并取回 cookie 的值。

创建 cookie

"Response.Cookies" 命令用于创建 cookie。

注意:Response.Cookies 命令必须位于 <html> 标签之前

取回 cookie 的值

"Request.Cookies" 命令用于取回 cookie 的值。

带有键的 cookie

如果一个 cookie 包含多个值的一个集合,我们就可以说 cookie 拥有键(Keys)

对不支持 cookie 的浏览器

如果应用程序需要和不支持 cookie 的浏览器打交道,在应用程序中的页面之间传递信息有两种办法:

1. 向 URL 添加参数

2. 使用表单

您还可以使用表单。当用户点击提交按钮时,表单会把用户输入的数据提交给 "welcome.asp"

Session

Session 对象用于存储用户的信息。存储于 session 对象中的变量持有单一用户的信息,并且对于一个应用程序中的所有页面都是可用的。服务器会为每个新的用户创建一个新的 Session,并在 session 到期时撤销掉这个 Session 对象。

Session 开始于:

  • 当某个新用户请求了一个 ASP 文件,并且 Global.asa 文件引用了 Session_OnStart 子程序时;
  • 当某个值存储在 Session 变量中时;
  • 当某个用户请求了一个 ASP 文件,并且 Global.asa 使用 <object> 标签通过 session 的 scope 来例示某个对象时;

假如用户没有在规定的时间内在应用程序中请求或者刷新页面,session 就会结束。默认值为 20 分钟,可以设置 Timeout 属性改变。

移除 session 变量

contents 集合包含所有的 session 变量。可通过它的 remove 方法来移除 session 变量。

Application 对象

Application 对象用来把asp文件捆绑在一起。Application 对象用于存储和访问来自任何页面的变量,类似于 session 对象。不同之处在于,所有的用户分享一个 Application 对象,而 session 对象和用户的关系是一一对应的。Application 对象存有会被应用程序中的许多页面使用的信息(比如数据库连接信息)。这意味着可以从任何的页面访问这些信息。同时也意味着你可在一个地点改变这些信息,然后这些改变会自动反映在所有的页面上。

锁定和解锁

我们可以使用 "Lock" 方法来锁定应用程序。当应用程序锁定后,用户们就无法改变 Application 变量了(除了正在访问 Application 变量的用户)。我们也可使用 "Unlock" 方法来对应用程序进行解锁。

 

上一篇:软件打开时间、窗体透明度、背景色---《用delphi开发共享软件》-15.1任务管理器


下一篇:你所能用到的BMP格式介绍