我看AutoEventWireup

Proteus逻辑分析仪从入门到精通:手把手教你捕捉第一个信号波形 本文详细介绍了Proteus逻辑分析仪的使用方法,从基础设置到高级功能,帮助电子工程师和初学者快速掌握数字信号捕捉技术。通过实战案例和参数设置技巧,读者可以学习如何准确捕捉和分析信号波形,提升电子设计调试效率。 阅读详情


 

这句代码是自动生成的,在代码的第一句,那么你理解这个 意思吗?

下面,着重说一下AutoEventWireup。大家可能不太注意这个,系统自动生成的一般我们情况下不用考虑,下面我们通过一个例子看一下这到底是什么?

如下是一个简单的计算机例子,三个Textbox控件,两个Label,一个Button组成。在这里我们的AutoEventWireup的值为True。


我们看一下代码:

 

  1. namespace ASP.NET
  2. {
  3. public partial class _Default : System.Web.UI.Page
  4. {
  5. protected void Page_Load(object sender, EventArgs e)
  6. {
  7. this.TextBox1.Text = "1";
  8. this.TextBox2.Text = "2";
  9. }
  10. protected void Button1_Click(object sender, EventArgs e)
  11. {
  12. double a, b, c;
  13. try
  14. {
  15. a = double.Parse(this.TextBox1.Text);
  16. b = double.Parse(this.TextBox2.Text);
  17. }
  18. catch
  19. {
  20. Response.Write("只能输入数字");
  21. return;
  22. }
  23. c = a + b;
  24. this.TextBox3.Text = c.ToString();
  25. }
  26. }
  27. }


我们在Page_Load事件中给Textbox1和Textbox2都赋值了,下面我们运行一下:


根据我们设定的结果出现了,现在我们把AutoEventWireup的值设为False看看

其他代码全不变,运行结果:


思考1,为什么Textbox1和Textbox2没有被赋值?

 

咱们现在把AutoEventWireup的值改为True,其他代码不变,相加一个试试,运行结果:

输入8+8点击求和,可以看到如下页面:


不论输入多少次结果总是1+2=3。

思考2,为什么相加结果不变?如何修改可以得到我们想要的结果?

 

现在我们就回答以上的两个问题。

1.在AutoEventWireup为False的情况下,Textbox1和Textbox2没有被赋值,则没有执行Page_Load方法,为什么?MSDN解释:AutoEventWireup 指示页的事件是否自动连网。如果启用事件自动连网,则为 true;否则为 false。简单来说就是Page指令的AutoEventWireup属性置为True时,该页框架将自动调用页事件,即Page_Load,Page_Init方法,这种情况下,不需要任何显示的Handles子句或委托。当AutoEventWireup为True是,Html中服务端脚本才被执行。

2.在AutoEventWireup为True的情况下,不论输入任何数运行结果总是1+2=3,因为AutoEventWireup为True时每次提交页面都会先执行行Page_Load方法,再执行控制的事件方法。从表面看,就是Page_Load成了aspx.cs文件中必须而且首先执行的方法。那么如何解决呢?有两种方法:(1)将AutoEventWireup置为False;(2)使用Page类的IsPostBack属性,修改Page_Load方法代码,如下:

 

  1. protected void Page_Load(object sender, EventArgs e)
  2. {
  3. if (!this.IsPostBack)
  4. {
  5. this.TextBox1.Text = "1";
  6. this.TextBox2.Text = "2";
  7. }
  8. }

如此问题便解决了。

下面加深一步思考:在Textbox1和Textbox2两个文本框中分别赋值1和2后,单击求和按钮,讲表单中控件的值传送到服务器,Default.aspx.cs中的程序依次执行Page_Load方法和Button_Click方法,然后再一次生成HTML网页。当再一次生成HTML网页时,两个文本框应该会自动设置为初始值(即空值)状态,这就是Web的无状态性,即Web不能够保存上次程序完成时的那些变量值,但是事实上这是的TextBox1和TextBox2两个文本框中仍然显示着单击求和按钮之前的1和2,是什么将1和2自动填写在两个文本框中呢?好吧,是ASP.NET用另一种方法讲控件的值或状态持续地保存了下来,具体做法:

服务器执行Default.aspx.cs中所有的程序后,将当前控件的状态值记录到表单的一个隐藏区域()中,在提交后,ASP.NET解析这个隐藏域的值,重新获取各控件的状态,这样就能够保持Web控件的状态不停地传递下来,这个过程有点像操作系统调用中断时,将当时各寄存器的状态都保存起来,中断结束后,再将寄存器的状态又恢复回来。大家可能注意到当提交操作时地址栏中会有一个常常的QueryString,其中有一个键值名为_VIEWSTATE,就是保存各个控件状态。在浏览器中查看网页源码能够找到如下代码:


 

综上,当我们需要赋初始值时,AutoEventWireup这个属性一定要注意,否则很容易犯错误。

个人理解,如有错误,敬请指正!

详细AutoEventWireup <@ Page language=c# AutoEventWireup="false"和“True”>的研究 @ Page 里面的属性是ASP.NET页面中最基础的组成部分。可也包涵了很多麻烦在里面,因为种种原因导致必须研究一下这个属性AutoEventWireup AutoEventWireup 用我的理解方式是这样:(Auto解释是自动,Event解释是事件,Wire解释关联结构模式,up解释是在上面) 个人理解的方式来推断这个属性所实现的功能。 首先,从浏览器触发的事件不能理科在本地得 阅读详情

相关推荐

UE5游戏逆向实战:用FModel提取.pak文件中的3D模型(附Dumper-7避坑指南)

本文详细介绍了在UE5游戏逆向工程中使用FModel提取.pak文件中3D模型的实战技巧,包括Dumper-7工具的深度配置与避坑指南。针对UE5特有的unversioned属性系统,提供了从源码编译到智能注入的全链路解决方案,帮助开发者高效获取游戏资产并优化处理流程。

weixin_30374009的博客 496

AutoEventWireup 属性的作用(转载)

AutoEventWireup 属性的作用(转载) 一、Page指令中的AutoEventWireup="true",该指令默认值为true.      指示页的事件是否自动绑定。如果启用了事件自动绑定,则为 true;否则为 false。默认值为 true。      页的事件的绑定      ASP.NET 页会引发诸如 Init、 Load、 PreRender 等生命周

笔记 1632

ABAP传输自定义IDOC实例

首先确定出站方和入站方,本例中我使用150作为发送方将200作为接收方。 发送端系统配置 进入tcode-SALE,点击定义逻辑系统,这里我定义D01CLNT150为发送端, D01CLNT200为接收端 2,将逻辑系统分配给对应的client 3,进入tcode-WE31,创建IDOC开发段(segment)这里可以按照实际需求创建想要传输的结构,为求简单我创建了ZKNA1并选取了几个客户主数据的字段作为示例 4,进入tcode-WE30,创建Idoc Ty...

Nathan的博客 4078

AutoEventWireup详解

AutoEventWireup是.NET框架中用于自动绑定事件处理程序的特性。它主要应用于ASP.NET Web Forms开发中,通过简化事件处理程序的绑定,提高开发效率,减少冗余代码。该特性允许开发者在代码中自动绑定控件的事件处理程序,而无需手动编写繁琐的事件绑定代码。通过AutoEventWireup的详细解析,我们深入了解了这一在ASP.NET Web Forms开发中常用的特性。合理使用AutoEventWireup可以简化开发流程,提高代码的可读性和可维护性。

微赚淘客开发者博客 1004

Win10家庭版没有Hyper-V?教你一招轻松解决(含避坑指南)

本文详细介绍了在Win10家庭版中启用Hyper-V的完整实战指南。通过DISM工具链绕过系统版本限制,无需重装系统即可完整启用所有Hyper-V组件,适用于开发者测试多系统环境和安全隔离应用场景。文章包含详细操作步骤、常见问题解决方案及性能优化配置,帮助用户轻松解决Win10家庭版没有Hyper-V的问题。

weixin_29239661的博客 495

WinDbg调试工具安装全攻略:从下载到配置的保姆级教程(Windows 10/11适用)

本文提供了一份详细的WinDbg调试工具安装与配置指南,适用于Windows 10/11用户。文章对比了WinDbg Preview独立版与SDK内置经典版的区别,并手把手指导从Microsoft Store或Windows SDK完成安装。核心部分重点讲解了如何配置符号文件路径与源代码路径,这是让WinDbg发挥强大调试功能的关键步骤,并针对常见安装问题提供了实用的排错方法。

hp777的博客 386

asp.net页面的AutoEventWireup="true"属性设置

1、如果设置AutoEventWireup="true",那么页面首次加载的时候isPostback=false;会自动执行Page_Load方法 触发页面的事件时(如按钮单击),也会先执行Page_Load方法(只是这个时候的isPostback=true),接着再去执行对应的事件 2、如果设置AutoEventWireup="false",那么Page_Load方法将不会被执行,触发页面的事

ydm东方旭日的专栏 1万+

最新打赏系统打赏源码麒麟最新打赏源码喜盈门打赏知识付费课程教程直播讲解

打赏源码打赏系统

qq_41095398的博客 2035

AutoEventWireup

<br />  Google了一番,大家讨论AutoEventWireup 问题可不少,Page 指令的 AutoEventWireup 属性被设置为 true(或者如果缺少此属性,因为它默认为 true),该页框架将自动调用页事件,即 Page_Init 、 Page_Load等14个方法,在这种情况下,不需要任何显式的 Handles 子句或委托。但这是怎么实现的呢?.net又怎样根据AutoEventWireup 属性来动态编译或者预编译页面呢?我在Google上没有找到答案。<br /> <br /

TempterX的专栏 1050

在线绘制富集分析多组气泡图和单细胞分析marker基因矩阵气泡图

常规的GO或者KEGG通路富集分析结果通常以气泡图的形式展示,然而这个气泡图仅仅是一个比较的结果,如果想在一张图上展示多个比较的结果,就需要用到多组气泡图(图1,左侧)。 单细胞RNA-seq分析结果中,矩阵形式的气泡图可以很好地展示marker基因(X轴)在不同cluster(Y轴)中的表达情况(图1,右侧)。

微生信 3666

君正T31x metartc集成测试

metartc为国内杨大侠部分开源的一款用于嵌入式领域webrtc库,它与谷歌官方webrtc相比,编译到君正平台的可执行文件仅有5M即可实现webrtc的通信。1. 目前实现的是基于开源版v5.0-b0版本做的简单修改,官方的好几个版本都多少缺点东西,我这里给整理了一下。目前是局域网连接的webrtc,后续尝试走stun和turn试一下NAT穿越的效果。

fsmpeg的博客 3159

AutoEventWireup解释

使用Asp.NET时,新建的aspx页面第一行page指令中包含了一个AutoEventWireup属性。网上的很多教程认为这一属性,甚至这一行代码都是没用的。其实,这是不了解Asp.NET事件处理模型的表现。简单来说,这一属性决定了当前页是否自动关联某些特殊事件。 首先,从浏览器页面触发的事件不能立刻在本地得到处理,而是POST至服务器上,因此,Asp.NET建立了委托(...

dianqianpang2137的博客 120

AI Agent开发第49课-DIFY让AI自动预约排班后发企业微信通知-MongoDb-Redis-企业微信调用

我们的Dify会讲得很透彻,坚持喂饭级教程,从一个基本的AI自动预约客户到自动记录客户的信息再到自动判断下一步如何走全部是AI化的,这是一个真正的AI原生应用,它来自于我的一个大型物业公司用AI自动预约系统中的一部分。我们会使用这个预约流做完整的Dify例子来讲完,因为它太有代表性了。工作流中的控制反转、AI决策下一步怎么走、人为干涉、用户行为判断、外部中间件如Redis,今天我们就要讲到在Dify中调用MongoDB的数据以及企业微信通知来作为预约派单的最后一步了。

打造全国最全的AI Agent开发知识领域的博客 1753

AutoEventWireup属性的确切含义

使用Asp.NET时,新建的aspx页面第一行page指令中包含了一个AutoEventWireup属性。网上的很多教程认为这一属性,甚至这一行代码都是没用的。其实,这是不了解Asp.NET事件处理模型的表现。简单来说,这一属性决定了当前页是否自动关联某些特殊事件。     首先,从浏览器页面触发的事件不能立刻在本地得到处理,而是POST至服务器上,因此,Asp.NET建立了委托(代理)机制。

DotNet夜未眠 1281

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

如何自动地把AutoEventWireup属性关闭

该篇文章是我于2009年6月10日通过自己编写的工具,批量从位于在博客园的博客站点(http://chenxizhang.cnblogs.com)同步而来。文章中的图片地址仍然是链接到博客园的。特此说明!陈希章 原文地址:http://www.cnblogs.com/chenxizhang/archive/2008/09/03/1282892.html原文标题:如何自动地把AutoE

陈希章@中国 620

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

把AutoEventWireup属性关闭

1、关于AutoEventWireup属性的作用: ,自动关联页面的Page_Load、Page_Init事件,好处就是不用再多写委托代码或重载代码了啦,坏处就是性能(听说的)和不直观性(影响菜鸟升级,“没见到事件关联它为什么会执行这段代码呢?”)。 2、删除: (1)、在aspx页面一个个将“AutoEventWireup=true”改为“AutoEventWireup=false”了

挨踢笔记 2571

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

AutoEventWireup介绍

        ASP.NET 页会引发诸如 Init、 Load、 PreRender 等生命周期事件。默认情况下,可以使用 Page_事件名称的命名约定将页事件绑定到方法。例如,若要为页的 Load 事件创建处理程序,可以创建名为 Page_Load 的方法。编译时,ASP.NET 将查找基于此命名约定的方法,并自动执行事件与方法之间的绑定。可以对 Page 类公开的任何事件使用 Page

java166的专栏 4534

AutoEventWireup属性与Page_Load事件

昨天本来搞好的一个网页,今天再次运行的时候发现有些奇怪,检查了一下发现Page_Load事件下的代码都不能执行,这下就纳闷了,茫茫然高了好久,在网上找啊找,最后一个高手说应该把html代码里的首行中的AutoEventWireup属性设置为"true",问题才得以解决,但郁闷并没有结束。仍就纳闷为什么昨天可以运行而今天却就不行,而且AutoEventWireup得属性默认是为"false"的,以前

Caribbean_HY的专栏 815

C#之AutoEventWireup

原文链接http://blog.sina.com.cn/s/blog_5d2ef8320100fcar.html 如果Page指令的AutoEventWireup属性被设置为 true(或者如果缺少此属性,因为它默认为true),该页框架将自动调用页事件,即Page_Init 和Page_Load方法。在这种情况下,不需要任何显式的Handles子句或委托...

dkoq40185的博客 223

AutoEventWireup指令分析

指令:指定当页和用户控件编译器处理 ASP.NET Web 窗体页 (.aspx) 和用户控件 (.ascx) 文件时所使用的设置。在编译时发生作用,有些是如在asp.net2.0中将 后产生        protected override bool SupportAutoEvents {            get {                return false; 

cxzhq2002的杂记 914

AutoEventWireup 的意义

AutoEventWireup 指:如果 Page 指令的 AutoEventWireup 属性被设置为 true(或者如果缺少此属性,因为它默认为 true),该页框架将自动调用页事件,即 Page_Init 和 Page_Load 方法。在这种情况下,不需要任何显式的 Handles 子句或委托。

Alvin 's Blog 1760

asp.net的AutoEventWireup标签起什么作用

    CodeFile="sssd25050.aspx.cs" Inherits="sssd25050" %>1.MasterPageFile 属性 此属性在 .NET Framework 2.0 版中是新增的。 获取或设置母版页的文件名。 命名空间:System.Web.UI程序集:System.Web(在 system.web.dll 中)2.  AutoEventWir

ninjya_luck的专栏 3529

页面处理指令中的AutoEventWireup

    在页面处理指令中有个AutoEventWireup,当时不知什么原因就删了,接着就除了问题.后来才知道它 是指页面的事件是否自动连网。如果启用事件自动连网,则为 true;否则为 false。如果页面处理 指令的 AutoEventWireup 属性被设置为 true(默认为 true),该页框架将自动调用页事件。所以如果是使用code-behind技术,就要把AutoEventWireu

★心蓝★ 1407
上一篇: .Net页面在回发时不让密码框清空
下一篇: HTML中id、name、class 区别
junboyboy
博客等级 码龄15年 12粉丝 14原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值