如何自动地把AutoEventWireup属性关闭

关于AutoEventWireup这个属性,如果你不清楚的话,可以参考下面的说明

http://msdn.microsoft.com/zh-tw/library/system.web.configuration.pagessection.autoeventwireup(VS.80).aspx

该属性的好处是自动地将类似Page_Load这样的方法与相应的事件进行关联,但缺点就是损失了一部分性能,所以有些时候我们可能会希望把它设置为false。 因为默认情况下,VS2005以及后面的版本都是自动设置为true的。

除了手工的方法一个一个去改之外,我们还可以找到一个治本的方法,例如我想到的一个方法就是直接把默认 的项目模板修改一下,这样以后利用该模板创建的就会自动设置为false了

1. 找到下面这个目录

C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\ProjectTemplates\CSharp\Web\2052

这里可以看到很多个与web有关的模板

image

2. 我们把其中的WebApplicationProject.zip进行解压缩,找到里面的Default.aspx文件,编辑它,主要修改AutoEventWireup属性为false

image

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的方式重写页面或者控件的虚方法,也是一样实现功能

posted @ 2008-09-03 14:13  陈希章  阅读(841)  评论(0编辑  收藏  举报