<%@Page%>中的Codebehind、AutoEventWireup、Inherits有何作用?

本文详细解析了ASP.NET页面配置中的AutoEventWireup、Inherits和Codebehind属性的作用,包括它们如何影响事件处理、类继承以及代码绑定,同时讨论了与之相关的基础知识,如runat属性和Page类在页面创建过程中的角色。

AutoEventWireup --- 指示是否自动启用页事件。
Codebehind --- 指示后台代码文件。
Inherits --- 继承类。

AutoEventWireup:指示该页的事件是否为自动连网的。如果启用事件自动连网,则为 true;否则,为 false。
Inherits:定义供页继承的代码隐藏类。可以是从 Page 类派生的任何类。
Codebehind:代码绑定文件的名称。

Codebehind="PreDeliver.aspx.cs" 表示该页的后置代码在当前目录下的PreDeliver.aspx.cs文件中; AutoEventWireup="false" 表示是否自动地将页面的事件和相应的方法绑定到一起,一般这个什要设为false,因为若设为true有可能两次调用相同的事件代码。 Inherits="Issue.Pre"表示页面中的控件是在哪个类中定义的。

基础知识:AutoEventWireup属性   AutoEventWireup属性决定事件句柄怎样连接到控件事件中。当AutoEventWireup设置为true时,ASP.NET决定调用类中的哪一种方法来响应那些在用户与网页的交互中产生的事件。ASP.NET将不必用代理就可以为一个Web控件调用合适的事件句柄,对程序员而言,这样可以无需为事件句柄添加代理。在程序员不是使用Visual Studio因而必须自己添加代码的情况下,这是非常方便的。   当Visual Studio生成一个ASPX文件时,因为Visual Studio为我们生成必要的时间代理,所以将AutoEventWireup设为false。   如果在Visual Studio中将AutoEventWireup设为true,那么一个事件句柄将会被调用两次,一次通过代理,一次是AutoEventWireup的结果。
  runat属性,设置为“Server”,说明由服务器来处理表单并生成发送给客户的HTML代码。   同一类型的Web控件可以映射到不同的HTML元素,这取决于客户端的浏览器和Web空间的参数设置。   Page类定义了所请求的网页,位于System.Web.UI名字空间,它包含了为创建基于Web的应用和控件所需的类。   类Page也提供了创建基于Web的应用所需的事件句柄和必要对象。   除了Page类,System.Web.UI还包括Control类。这是一个为所有的Web控件提供一般功能的基类。      ASPX文件和代码后置文件是怎样被用于创建那些发送给客户的网页的呢?首先,类WebTimeTest继承了定义了网页一般功能的Page类。除了继承这些功能以外,WebTimeTest还定义了一些自己特有的功能。   代码后置文件就是定义了这一功能的文件,而ASPX文件定义了GUI。当客户请求一个ASPX文件时,在包含网页的可视化部分(在ASPX文件中定义)和包含网页的逻辑部分(在代码后置文件中定义)的现场后面创建一个类。新类继承自Page。   当网页首次被请求时,这个类被编译并且创建一个实例。这个实例表示网页,它创建了被传送给客户的HTML。由编译过的类创建的组件被放置在项目的Bin目录中。      一旦一个网页实例已经创建,多个用户就可以使用这一实例来访问这个网页——不再需要重新编译。项目仅仅在程序员修改应用程序后才需要重新编译,这些变化由运行时间环境检测,并且项目将被重新编译来反应变化的内。

转载于:https://www.cnblogs.com/liulei00/p/3731391.html

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="pic.aspx.cs" Inherits="WebApplication3.pic" %> <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title></title> </head> <body> <form id="form1" runat="server"> <div> <asp:HyperLink ID="HyperLink1" runat="server" Target="_blank">HyperLink</asp:HyperLink> <br /> <asp:HyperLink ID="HyperLink2" runat="server">HyperLink</asp:HyperLink> <br /> <asp:HyperLink ID="HyperLink3" runat="server">HyperLink</asp:HyperLink> </div> </form> </body> </html> using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; namespace WebApplication3 { public partial class pic : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { HyperLink1.ImageUrl = "~/images/4.gif"; HyperLink1.NavigateUrl = "~/showpic.aspx"; } } }<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="showpic.aspx.cs" Inherits="WebApplication3.showpic" %> <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title></title> </head> <body> <form id="form1" runat="server"> <div> <asp:Image ID="Image1" runat="server" Height="273px" Width="384px" /> </div> </form> </body> </html> 如修改CS代码才能实现:在pic.aspx中用HyperLink控件显示小图片列表(如三张图片),以网址参数的形式链接到showpic.aspx页面,并在showpic.aspx显示相应的大图片。
05-31
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值