领悟@Page指令中的AutoEventWireup

领悟@Page指令中的AutoEventWireupAsp.NET中可以修改AutoEventWireup=”true”,使页面与某些特殊的事件方法绑定,自动识别这些具有特定名称的事件,而不需要进行委托。这些特定名称包括:Page_Init,Page_Load,Page_DataBind,Page_PreRender和Page_Unload等。.aspx设置AutoEventWireup=false情况下,Pag…

大家好,又见面了,我是你们的朋友全栈君。

  Asp.NET中可以修改AutoEventWireup=”true”,使页面与某些特殊的事件方法绑定,自动识别这些具有特定名称的事件,而不需要进行委托。这些特定名称包括:Page_Init, Page_Load, Page_DataBind, Page_PreRender和Page_Unload等。

 

 

.aspx设置AutoEventWireup=false情况下,Page_Load方法没有办法成为Load事件的订阅者,

我们必须手工进行相应的subscribe,不然我们就看不到输出的hello.

 

<%@ Page Language=”C#” AutoEventWireup=”false” CodeFile=”Default.aspx.cs” Inherits=”_Default” %>

 

public partial class _Default : System.Web.UI.Page

{

    protected override void OnInit(EventArgs e)

    {

        base.OnInit(e);

        this.Load += this.Page_Load;

    }

 

    protected void Page_Load(object sender, EventArgs e)

    {

        Response.Write(“hello”);

    }

}

 

 

从这个简单例子,可以看出AutoEventWireup=true时候像Page_xx都成为了保留方法了。

 

一、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方法,这时需要我们显示定)

    public partial class _Default : System.Web.UI.Page
    {

        

public
 _Default()
        {

            

this
.Load 
+=
 
new
 EventHandler(Page_Load);
        }
        

protected
 
void
 Page_Load(
object
 sender, EventArgs e)
        {

        }
    }

原文地址:http://www.cnblogs.com/ycdx2001/archive/2009/07/19/1526739.html

 

转载于:https://www.cnblogs.com/jhxk/articles/1632421.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/140473.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 到底什么是数据中台?

    到底什么是数据中台?最近可能大家听到“数据中台”这个词越来越频繁了,有时候我跟一些朋友聊起来,也是都在说这个,但是一直不知道这到底是个什么。最近就看到这篇文章,觉得说的还挺好的,分享给大家看…

    2022年5月21日
  • 一步一步教学《虚拟化工程师实战培训》让想学者学得更容易。

    一步一步教学《虚拟化工程师实战培训》让想学者学得更容易。一步一步教学《虚拟化工程师实战培训》让想学者学得更容易。

    2022年4月20日
  • mybatis常用jdbcType数据类型

    mybatis常用jdbcType数据类型mybatis常用jdbcType数据类型jdbctype描述BIT可以取值为1、0或NULL的integer数据类型TINYINT0到255BIGINT-2^63(-9,223,372,036,854,775,808)到2^63-1(9,223,372,036,854,775,807)REAL…

    2022年10月20日
  • Java中的重载、重写和重构的区别

    Java中的重载、重写和重构的区别1、重载重载(overloaded):重载就是在同一个类中允许同时存在一个以上的同名方法,只要这些方法的参数个数或类型不同即可。我们知道构造方法的名称已经由类名决定,所以构造方法只有一个名称,但如果希望以不同的方式来实例化对象,就需要使用多个构造方法来完成。由于这些构造方法都需要根据类名进行命名,为了让方法名相同而形参不同的构造方法同时存在,必须用到“方法重载”,虽然方法重载起源于构造方…

    2022年7月8日
  • 牛屎芯片 | 硬件之家「建议收藏」

    牛屎芯片 | 硬件之家「建议收藏」前言:牛屎芯片又叫邦定芯片或软封装芯片,一般应用于价格较为低廉的电子设备中。原文链接:http://www.allchiphome.com/post/cow-shit_chip一、牛屎芯片牛屎芯

    2022年8月2日
  • 4g网络怎么设置网速更快(移动4g网速慢怎么办)

    转载自品略图书馆http://www.pinlue.com/article/2020/05/1618/5110522403532.html别人是4G网,你也是4G网,你却更慢,不妨这样设置,网速飞快提升随着5G网络的走近,人们越来越期待未来的生活,以后电视上电影里面不可能实现的在现实中可能都会实现,5G网络的到来,人们的生活又会有怎样翻天覆地的变化,不过现在5G网络还没有正式运用,可能要到明年才能正式普及,所大家手中用的手机都是搭载4G网络,而有人发现,别人是4G网,你也是4G网,你却更慢,不妨这.

    2022年4月12日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号