ASP.NET中@Page指令中的AutoEventWireup
AutoEventWireup:指示控件的事件是否自动匹配 (Autowire)。如果启用事件自动匹配,则为 true;否则为 false。默认值为 true。如果设为false,则事件不可用。
有关更多信息,请参阅 Web 服务器控件事件模型。
设置为true,该页框架将自动调用页事件,即 Page_Init 和 Page_Load 方法。自动的将网页事件和方法相关联。在这种情况下,不需要任何显式的Handles子句或委托。
当AutoEventWireup为true时,html中服务端脚本才被执行。
<@ Page language=c# AutoEventWireup="true" 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 属性的缺点是它要求页事件处理程序具有特定、可预测的名称。这限制了您在为事件处理程序命名时的灵活性。
如果将AutoEventWireup属性设置为True,则VS会产生代码来绑定事件,而且网页架构会自动根据事件的名称来调用事件,这可能会导致网页运行时相同的事件代码被调用2次.