具有许多控件的页面上的AutoEventWireup为false(C#)

时间:2009-04-29 12:34:13

标签: c# event-handling autoeventwireup

使用C#,有一个包含许多控件的Web表单,其中AutoEventWireup设置为false。 这会强制您初始化ctor中所需的处理程序或重写OnInit。

页面上的控件需要处理怎么样? 添加按钮单击“下一步”和“SelectedIndexChanged”用于下拉列表和列表框,而不是多个GridView事件等。

如果将AutoEventWireup设置为true,则会影响性能,因为所有控件(包括Page)的所有事件都会在幕后进行连线,甚至包括您不需要的所有事件。

将AutoEventWireup设置为false,在ctor / OnInit中有十二个或两个事件订阅是否合适? (this.Load + = ... this.GridView1.Sorted + = ... this.Button1.Click + = ...等)。

2 个答案:

答案 0 :(得分:3)

是的,如果您将AutoEventWireup设置为false,则需要自行手动连接所有活动。 OnInit方法可以很好地连接这些事件处理程序,并且您应该在页面上的控件中拥有尽可能多的事件订阅。

AutoEventWireup是一个不错的主意,但速度很慢,也有点神奇。我发现自己明确地进行连线更好。

答案 1 :(得分:1)

AutoEventWireUp仅自动连接某些内置页面或控制级别事件,而不是网页上每个控件的每个事件。

有关列表,请参阅Simon's answerthis question