@Page指令中的AutoEventWireup

@Page指令中的AutoEventWireup以前根本不注意AutoEventWireup这个小小的属性,但是后来由于它产生的许多麻烦使我不得不研究它,并最终领悟了它。如果你写了一个asp.net页面,里面包含了服务端脚本:voidPage_Load(objectsender,EventArgse){lblMessage.Text=”ThinkinginTechmango.com”;}

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

以前根本不注意AutoEventWireup这个小小的属性,但是后来由于它产生的许多麻烦使我不得不研究它,并最终领悟了它。

如果你写了一个asp.net页面,里面包含了服务端脚本:

<@ Page language=c# AutoEventWireup=”false” Inherits=”Chapter3.ch21″ %>
<html>
<script language=c# runat=server>
void Page_Load(object sender, EventArgs e)
{

lblMessage.Text=”<a href=’http://techmango.com’>Thinking in Techmango.com</a>”;
}
</script>
<body>
<form runat=server>
<asp:label id=lblMessage runat=server />
</form>
</body>
</html>

运行后结果什么都不显示,怎么回事呢?!当然就是因为AutoEventWireup被设置成false了。AutoEventWireup是什么意思,对该代码有什么影响了。我查了一下msdn AutoEventWireup 指示页的事件是否自动连网。如果启用事件自动连网,则为 true;否则为 false
自动连网,这是什么意思,不明白,我又去google上搜了一下,查到了一个简单明白的回答:
如果 Page 指令的 AutoEventWireup 属性被设置为 true(或者如果缺少此属性,因为它默认为 true),该页框架将自动调用页事件,即 Page_Init 和 Page_Load 方法。在这种情况下,不需要任何显式的 Handles 子句或委托。

AutoEventWireup为true时,html中服务端脚本才被执行,结果才会出来在页面!

但是!反过来说,当AutoEventWireup为false时,却有它的好处,为什么? 当然就是因为我们常常用的后代码技术,如果当AutoEventWireup为true时,页面会执行两次,据我个人理解,.net环境会执行一次来运行html中包含的服务器端脚本,另外一次来执行后代码中的各个函数。

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

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/140422.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • SecureCRT中文乱码,导致上传到nginx上的文件乱码,访问报404「建议收藏」

    SecureCRT中文乱码,导致上传到nginx上的文件乱码,访问报404「建议收藏」问题背景:因使用secureCRT工具,上传文件到linux系统nginx服务上,因部分文件名包含中文,导致访问路径报错404,查看时显示乱码等问题。一般解决办法1.右键点击SecureCRT的连接标签。2.在弹出的窗口中,左边栏选择“外观”选项卡,在右边的窗口中选择UTF8,如图所示:3.此时,SecureCRT中即可正常显示中文了:此时虽然可以显示中文,但是在SecureF…

  • Gamma校正原理及实现

    Gamma校正原理及实现gamma校正原理:  假设图像中有一个像素,值是200,那么对这个像素进行校正必须执行如下步骤:   1.归一化:将像素值转换为 0~1 之间的实数。算法如下:(i+0.5)/256 这里包含1个除法和1个加法操作。对于像素 A 而言 ,其对应的归一化值为 0.783203。   2.预补偿:根据公式 ,求出像素归一化

  • JS 定义全局变量[通俗易懂]

    JS 定义全局变量[通俗易懂]JavaScript声明全局变量三种方式的异同JavaScript中声明变量格式:var(关键字)+变量名(标识符)。方式1vartest;vartest=5;需注意的是该句不能包含在function内,否则是局部变量。这是第一种方式声明全局变量。方式2test=5;没有使用var,直接给标识符test赋值,这样会隐式的声明了全局变量test。即使该语句是在一个func…

  • transactionscope mysql_TransactionScope事务对多个数据库的操作[通俗易懂]

    transactionscope mysql_TransactionScope事务对多个数据库的操作[通俗易懂].Net2.0引入了轻量级事务管理器(LighweightTransactionManager),即System.Transactions.TransactionManager。轻量级事务管理器具有最小的开销,对比使用轻量级事务管理器的事务和直接使用本地事务,并没有性能上的差别。如果一个事务里只有一个资源管理器,轻量级事务管理器可以让资源管理器来管理该事务,而轻量级事务管理器只负责监视他;如…

  • c++多线程重点难点(三)Mutex

    c++多线程重点难点(三)Mutex互斥量互斥量是一个内核对象,它用来确保一个线程独占一个资源的访问。互斥量与关键段的行为非常相似,并且互斥量可以用于不同进程中的线程互斥访问资源。使用互斥量Mutex主要将用到四个函数创建互斥量:CreateMutex函数返回一个互斥量的句柄或者NULL打开互斥量:OpenMutex函数返回一个互斥量的句柄或者NULL触发互斥量:ReleaseMutex访问互斥资源前应该要调用等待函数,结

  • 4G LTE Advanced_LTE百科

    4G LTE Advanced_LTE百科IS-95   IS-95是由高通公司发起的第一个基于CDMA数字蜂窝标准。IS全称为InterimStandard,即暂时标准,基于IS-95的第一个品牌是cdmaOne。IS-95也叫TIA-EIA-95。它是一个使用CDMA的2G移动通信标准,一个数据无线电多接入方案,其用来发送声音,数据和在无线电话和蜂窝站点间发信号数据(如被拨电话号码)。IS-95及其相关标准是最早商用的

发表回复

您的电子邮箱地址不会被公开。

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