zoukankan      html  css  js  c++  java
  • 5.16

    1.<%@Page%>中的Codebehind、AutoEventWireup、Inherits有何作用?
    在 ASP.NET 中使用代码隐藏方法来设计Web 窗体,可使页代码能够更清晰地从 HTML 内容中分离到完全单独的文件中。

    <%@ 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

     一、Page指令中的AutoEventWireup="true",该指令默认值为true.
         指示页的事件是否自动绑定。如果启用了事件自动绑定,则为 true;否则为 false。默认值为 true。      页的事件的绑定

         ASP.NET 页会引发诸如 Init Load PreRender 等生命周期事件。默认情况下,可以使用 Page_事件名称的命名约定将页事件绑定到方法。例如,若要为页的 Load 事件创建处理程序,可以创建名为 Page_Load 的方法。编译时,ASP.NET 将查找基于此命名约定的方法,并自动执行事件与方法之间的绑定。可以对 Page 类公开的任何事件使用 Page_事件名称的约定。      AutoEventWireup 属性的缺点是它要求页事件处理程序具有特定的、可预测的名称。这就限制了在命名事件处理程序方面的灵活性。

    注意:

    如果包括页事件的显式绑定,请确保将 AutoEventWireup 属性设置为 false,以便方法不会意外地被调用两次。

         页事件的显式绑定:       (AutoEventWireup 属性设置为 false时,将不会按命名约定去调用Page_Load方法,这时需要我们显示定)
        publicpartialclass _Default : System.Web.UI.Page
    {
           
    public_Default()
            {
    this.Load +=
    newEventHandler(Page_Load);
            }
           
    protectedvoidPage_Load(object sender, EventArgs e)
            {
            }
        }
    2. 缓存的几种不同的实现方法?
    • HttpContext.Current.Application:整个应用程序都可以共享的,当然存储的时候应该加锁的。
    • HttpRuntime.Cache与HttpContext.Current.Cache:二者其实是指向的同一对象,区别在于HttpContext与HttpRuntime的实现上。HttpContext必需是Asp.net的上下文中使用,而HttpRuntime则可以在任何上下文中使用,例如可以在控制台程序中利用HttpRuntime作为缓存。
    • 静态变量的方式:本质上与HttpRuntime.Cache的实现原理是一样的(Cache的也是静态变量)。

       第1与第3只适合存储少量数据(小于1M),否则性能上会有损失。而HttpRuntime.Cache则在内存的使用效率上和功能上(例如缓存依赖、过期策略等)都有所增强,所以应该在实际应用中尽量使用它。

    3.怎样计算页面执行的时间?

     页面执行时间就是从一个网页的开始执行一直到这个页面执行完毕所用的时间。许多网站的的页面底部都会显示一个本页面执行时间,下面说说如何实现:

    首先在一个网页的开头定义一个变量:dim startimestartime=timer()

     在显示页面执行时间的地方,这个地方应该是页尾的地方:dim endtime endtime=timer()

     最后,在底部加上调用代码:页面执行时间:<%=FormatNumber((endtime-startime)*1000,3)%>毫秒

    4.    什么是AJAX
    AJAX是"Asynchronous JavaScript And Xml"的简写,是综合HTTP异步通信、JavaScript、XML以及JSON等多种网络技术的一种编程模型。如果从用户看到的实际效果来看,也可以简单地称之为页面局部更新。
    5.    用自己的语言描述一下程序连接数据库的过程。

    一、通过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 %>

  • 相关阅读:
    dig理解dns主备
    Bind的DNS解析设置forward
    DNS服务器的配置与应用: BIND9 的安装与配置
    注意自己的dns设置
    /etc/named/named.conf.options中的Options参数
    安装Bind过程中提示丢失MSVCR110.dll的解决办法
    MS14-025引起的问题
    MS14-025引起的问题
    MS14-082引起的问题
    WSUS更新服务器
  • 原文地址:https://www.cnblogs.com/wubo123/p/3731461.html
Copyright © 2011-2022 走看看