ASP.NET中@Page指令中的AutoEventWireup

时间:2021-03-04 15:59:47
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次.