@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中包含的服务器端脚本,另外一次来执行后代码中的各个函数。

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

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

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


相关推荐

  • java学的什么软件_java初学者用什么软件[通俗易懂]

    java学的什么软件_java初学者用什么软件[通俗易懂]Java初学者可以使用MyEclipse或eclipse以及记事本。随着学习的深入,相信你会逐渐明白,你会从中找到最合适的开发工具。java初学者使用什么软件Java初学者可以使用MyEclipse、eclipse或记事本。1对于初学者,不建议使用ide开发工具,如eclipse、MyEclipse、intellijidea和netbean。但是,您也可以使用这些。原因不推荐,不方便您了解java…

    2022年7月8日
    25
  • python中用turtle画一个圆形(pythonturtle教程)

    最近发现一个很有意思的画图的python库,叫做turtle,这里先说下用turtle这个库来实现用正方形画圆的思路。每次都用乌龟(turtle)来画出一个正方形,然后通过旋转3°后,继续画一样的正方形,在通过120次循环后就实现了完整的圆,这里当然也可以用其他的角度和次数,只要能完成360度就可以了。先看完成的图形和代码。代码如下:importturtlewindow=turtle.Scr…

    2022年4月14日
    349
  • C++在stack的deque实现

    C++在stack的deque实现

    2021年9月7日
    71
  • 8000401a 因为配置标志不正确 错误及解决办法

    8000401a 因为配置标志不正确 错误及解决办法解决办法:如果是64位的office运行dcomcnfg打开组件服务如果是32位的office,则运行comexp.msc-32打开组件服务依次展开”组件服务”->“计算机”->“我的电脑”->“DCOM配置”找到”MicrosoftExcel应用程序”或”MicrosoftWord应用程序”,点击”安全”选项卡,依次把”启动和激活权限”,”访问权限”都选择为自定义,然后依次点击它们的编辑,把NetworkService和IIS_IUSRS添加进去,并加入所有的权限…

    2022年7月25日
    13
  • 在linux中使用md5校验文件的完整性

    在linux中使用md5校验文件的完整性

    2021年8月22日
    63
  • 软件测试外包公司有哪些_工程资料外包的坏处

    软件测试外包公司有哪些_工程资料外包的坏处一、前言:什么是软件测试外包随着最近10年创业风气的发起,已经涌起创业项目外包公司的兴起,已经不仅仅局限为了降低成本,更多的是为了解决自己雇佣技术人员或者无法管理技术人员的难题。那么外包是什么意思呢?似乎大家对外包都闻之色变!这里我们详细的认识一下什么是外包?外包类似中介派遣公司或者叫做劳务输出公司。就是我们公司把你招聘进来,但是又把你派到其他公司(甲方)工作。但是最终你的劳务合同…

    2025年7月28日
    2

发表回复

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

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