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

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

}
</script>
<body>
<form runat=server>
  <asp:label id=lblMessage runat=server />
</form>
</body>
</html>

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

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

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

相关文章:

  • 2021-10-31
  • 2021-12-18
  • 2021-08-05
  • 2022-12-23
  • 2021-06-28
  • 2021-08-15
  • 2022-12-23
  • 2021-09-09
猜你喜欢
  • 2022-03-01
  • 2022-12-23
  • 2022-12-23
  • 2021-07-30
  • 2021-06-21
  • 2022-12-23
相关资源
相似解决方案