<%@ Page language="c#" Codebehind="WebForm1.aspx.cs"
其中有三个属性(Inherits、Src、CodeBehind)非常容易混淆,下面分别给予说明。
Inherits
Inherits 属性用于定义当前 Web 窗体所继承的代码隐藏类(该类是 System.Web.UI.Page 的派生类)。
这个 inherits 属性只用于采用代码隐藏方式编写的 Web 窗体,也就是,如果你的代码全都是在 Web 窗体的<script runat="server"></script> 标签中,就不必用这个属性了。
Codebehind
Codebehind 属性并不是一个真正的 ASP.NET 属性,在ASP.NET 文档中是找不到它的。它其实只是一个 Visual Studio .NET 属性,Visual Studio .NET 就是借用这个属性来很好地跟踪管理项目中的 Web 窗体和与之相对的代码隐藏文件,比如当你在设计环境中往 Web 窗体上放入一个服务器控件时,Visual Studio .NET 将自动找到与该 Web 窗体相对应的代码隐藏文件,并自动插入相关的代码。因此,用 Visual Studio .NET 作开发时,不可轻率地将 Codebehind 属性换成 Src 属性,他们的功能作用不同。
AutoEventWireup
ASP.NET 页会引发诸如 Init、 Load、 PreRender 等生命周期事件。默认情况下,可以使用 Page_事件名称的命名约定将页事件绑定到方法。例如,若要为页的 Load 事件创建处理程序,可以创建名为 Page_Load 的方法。编译时,ASP.NET 将查找基于此命名约定的方法,并自动执行事件与方法之间的绑定。可以对 Page 类公开的任何事件使用 Page_事件名称的约定。 AutoEventWireup 属性的缺点是它要求页事件处理程序具有特定的、可预测的名称。这就限制了在命名事件处理程序方面的灵活性。
注意:
如果包括页事件的显式绑定,请确保将 AutoEventWireup 属性设置为 false,以便方法不会意外地被调用两次。
public_Default()
{
this.Load +=newEventHandler(Page_Load);
}
protectedvoidPage_Load(object sender, EventArgs e)
{
}
}
- HttpContext.Current.Application:整个应用程序都可以共享的,当然存储的时候应该加锁的。
-
HttpRuntime.Cache与HttpContext.Current.Cache:二者其实是指向的同一对象,区别在于HttpContext与HttpRuntime的实现上。HttpContext必需是Asp.net的上下文中使用,而HttpRuntime则可以在任何上下文中使用,例如可以在控制台程序中利用HttpRuntime作为缓存。
- 静态变量的方式:本质上与HttpRuntime.Cache的实现原理是一样的(Cache的也是静态变量)。
第1与第3只适合存储少量数据(小于1M),否则性能上会有损失。而HttpRuntime.Cache则在内存的使用效率上和功能上(例如缓存依赖、过期策略等)都有所增强,所以应该在实际应用中尽量使用它。
页面执行时间就是从一个网页的开始执行一直到这个页面执行完毕所用的时间。许多网站的的页面底部都会显示一个本页面执行时间,下面说说如何实现:
首先在一个网页的开头定义一个变量:dim startimestartime=timer()
在显示页面执行时间的地方,这个地方应该是页尾的地方:dim endtime endtime=timer()
最后,在底部加上调用代码:页面执行时间:<%=FormatNumber((endtime-startime)*1000,3)%>毫秒
一、通过ODBC DSN建立连接 运用ODBC数据源,首先必须在控制面板的ODBC中设置数据源,然后再编写脚本和数据库源建立连接。
1、创建 ODBC DSN 通过在 Windows 的"开始"菜单打开"控制面板",您可以创建基于 DSN 的文件。双击"ODBC"图标,然后选择"系统 DSN"属性页,单击"添加",选择数据库驱动程序,然后单击"下一步"。按照后面的指示配置适用于您的数据库软件的 DSN。常用的数据库软件有Microsoft Access和SQL Server等,这里以SQL Server 数据库为例。 配置 SQL Server 数据库系统 DSN:注意如果数据库驻留在远程服务器上,请与服务器管理员联系,获取附加的配置信息;下面的过程使用 SQL Server 的 ODBC 默认的设置,它可能不适用于您的硬件配置。在"创建新数据源"对话框中,从列表框中选择"SQL Server",然后单击"下一步"。键入 DSN 文件的名称,然后单击"下一步"。单击"完成"创建数据源。键入运行 SQL 服务程序的服务器的名称、登录 ID 和密码。在"创建 SQL Server 的新数据源"对话框中,在"服务器"列表框中键入包含 SQL Server 数据库的服务器的名称,然后单击"下一步"。选择验证登录 ID 的方式。如果要选择 SQL 服务器验证,请输入一个登录 ID 和密码,然后单击"下一步"。在"创建 SQL Server 的新数据源"对话框中,设置默认数据库、存储过程设置的驱动程序和 ANSI 标识,然后单击"下一步"。(要获取详细信息,请单击"帮助"。)在对话框(同样名为"创建 SQL Server 的新数据源")中,选择一种字符转换方法,然后单击"下一步"。(详细信息,请单击"帮助"。)在下一个对话框(同样名为"创建 SQL Server 的新数据源")中,选择登录设置。 注意典型情况下, 您只能使用日志来调试数据库访问问题。 在"ODBC Microsoft SQL Server 安装程序"对话框中,单击"测试数据源"。如果 DSN 正确创建,"测试结果"对话框将指出测试成功完成。
2、编写脚本和数据库源建立连接 ADO(ActiveX Data Objects ) 提供 Connection 对象,可以使用该对象建立和管理应用程序和 ODBC 数据库之间的连接。Connection 对象具有各种属性和方法,可以使用它们打开和关闭数据库连接。编写数据库连接脚本,首先应创建 Connection 对象的实例,接着打开数据库连接: <% set conn=server.createobject("adodb.connection") conn.open "DSN=ODBC名称;Database=数据库名称;UID=;PWD=;" %> 二、通过oledb建立连接 运用oledb方法建立页面与数据库的连接, 不需要创建 ODBC DSN数据源,直接编写如下的脚本和数据源建立连接,是一种简单易用的方法。 <% set conn=server.createobject("adodb.connection") conn.open "Provider=SQLOLEDB;server=(SQL服务器名称或IP地址);database=数据库名称;uid=;pwd=" %>
二、通过driver建立连接 通过driver建立页面与数据库的连接,同样不需要创建ODBC DSN数据源,但必须知道实际的数据库文件路径或者数据源名(例如,SQLserver的数据库)。 <% set conn=server.createobject("adodb.connection") conn.open "driver={sql server};server=(SQL服务器名称或IP地址);database=数据库名称;uid=;pwd="%> 四、实例(登陆系统) 无论是进入论坛发表自己观点,还是进入自动化管理系统,都需要用户填写登录信息,系统在自身的数据库中检查是否有此用户的注册信息,如果检测到,用户即可顺利登录。而这一登录检查过程的实现,就需要后台数据库与前台页面的连接。 代码实现:连接脚本程序可单独写为一页命名为conn.asp ,需要时引用即可。也可直接写在登录检查页面中。
conn.asp源代码: <% set conn=server.createobject("adodb.connection") conn.open "dsn=test;database=test;uid=czx;pwd=czx123;" %> login_check.asp ( 登录检查页 ) <!--#include file="conn.asp" --> <% Dim name,pwd name=trim (Request("name")) pwd=trim (Request("pwd")) if Request("B1")="登录" then set rs=server.createobject("adodb.recordset") sql="select * from member where loginname='"&name&"' " rs.open sql,conn,1,1 if rs.eof and rs.bof then Response.Write "您无权进入,请先注册新用户。" else if rs("password")=pwd then session("memid")=rs("id") rs.close set rs=nothing Response.Redirect "index.asp" end if end if end if conn.close set conn=nothing %>