领悟@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月27日 下午11:00
下一篇 2022年5月27日 下午11:00


相关推荐

  • pycharm单行和多行注释快捷键_java怎么取消注释

    pycharm单行和多行注释快捷键_java怎么取消注释—默认快捷键—:Ctrl+/(如果是多行批量注释/取消注释,需先选中多行,再使用该快捷键)。除了上述默认快捷键之外,如果选择的Keymap不同,可能还有变动。如Keymap选择Emacs后,注释快捷键变为:Alt+;(Alt+分号)。注意:经过测试,无论Keymap选哪种,块注释的选项CommentwithBlockComment及其快捷键Ctrl+Shift+/均无法使用,原因暂不明确。Keymap的选择情况可以在设置(Settings)–>Keymap中查看和修改,其中打开Setti

    2022年8月29日
    7
  • static使用方法小结

    static使用方法小结

    2021年12月14日
    50
  • AI写代码-window11安装claude code,以及在vs code中使用插件。

    AI写代码-window11安装claude code,以及在vs code中使用插件。

    2026年3月16日
    3
  • HeartBeat简单介绍和基本作用:

    HeartBeat简单介绍和基本作用:HeartBeat 的作用 通过 HeartBeat 可以将资源 IP 以及程序服务等资源 从一台已经故障的计算机快速转移到另一台正常运转的机器上继续提供服务 一般称之为高可用的服务 在实际的生产应用场景中 heartbeat 的功能和另一个高可用的开源软件 keepalived 有很多的相同之处 在我们实际的生产业务中也是有区别的 HeartBeat 的工作原理 通过修改 Heartbeat

    2026年3月16日
    3
  • 如何运行一个vue项目(github安装项目依赖)

    1.cd到package.json目录中,执行npmoutdatedPackageCurrentWantedLatestLocation包名当前版本满足semer版本的最高版本(及在兼容的前提下能更新的最高版本)当前最高的版本红色:可以立即更新黄色:需要进行兼容,慎重更新全部更新在已有项目中,不建议采用全部更新,推荐使用npmupdate按需更新安装ncu,执行npminstall-gnpm-check-updates执行ncu-u

    2022年4月16日
    85
  • 学习记录-PINN

    学习记录-PINNPINN 物理信息神经网络 图解训练数据 1 初始条件和边界条件的采样点集 2 偏微分方程残差采样 类网格点选取 or 位随机离散点选取 的配置点集 3 标签数据用来辨识方程参数的已知数据样本集发展 Jagtap 等 6 在激活函数中引入超参数变为自适应激活函数 加速收敛速度 Shin 等 7 针对椭圆型和抛物线型偏微分方程 证明了 PINNs 训练得到的网络可以一致收敛到偏微分方程的解 Lu 等 8 基于 Tensorflow 开发了 Python 工具包 DeepXDE 整合了 PINN

    2026年3月16日
    1

发表回复

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

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