如何自动地把AutoEventWireup属性关闭
关于AutoEventWireup这个属性,如果你不清楚的话,可以参考下面的说明
该属性的好处是自动地将类似Page_Load这样的方法与相应的事件进行关联,但缺点就是损失了一部分性能,所以有些时候我们可能会希望把它设置为false。 因为默认情况下,VS2005以及后面的版本都是自动设置为true的。
除了手工的方法一个一个去改之外,我们还可以找到一个治本的方法,例如我想到的一个方法就是直接把默认 的项目模板修改一下,这样以后利用该模板创建的就会自动设置为false了
1. 找到下面这个目录
C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\ProjectTemplates\CSharp\Web\2052
这里可以看到很多个与web有关的模板
2. 我们把其中的WebApplicationProject.zip进行解压缩,找到里面的Default.aspx文件,编辑它,主要修改AutoEventWireup属性为false
3. 然后重新打包即可
虽然如此看起来是可以了,但VS实际上在运行的时候是读取另外一个目录的模板
C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\ProjectTemplatesCache\CSharp\Web\2052
在这里面找到WebApplicationProject.zip这个目录,按上面的方法修改即可。
同样的手法修改下面几个文件(如果有的话)
C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\ProjectTemplatesCache\CSharp\Web\ASPNETAJAXExtensionsWAPCS.zip\Default.aspx
C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\ProjectTemplatesCache\Web\CSharp\ASPNETAJAXExtensionsCS.zip\Default.aspx
C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\ProjectTemplatesCache\Web\CSharp\2052\CRWebSite.zip\Default.aspx
C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\ProjectTemplatesCache\Web\CSharp\2052\WebApplication.zip\Default.aspx
C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\ProjectTemplatesCache\Web\CSharp\2052\ReportApplication.zip\Default.aspx
以上是修改项目模板,下面是修改项模板
C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\ItemTemplatesCache\Web\CSharp\2052\WebUserControl.zip\WebUserControl_cb.ascx
C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\ItemTemplatesCache\Web\CSharp\2052\WebForm.zip\WebForm.aspx
C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\ItemTemplatesCache\Web\CSharp\2052\WebForm.zip\ContentPage_cb.aspx
注意,一旦把该属性设置为false,那么事件的绑定就需要明确地加入代码。或者我们可以通过用override的方式重写页面或者控件的虚方法,也是一样实现功能