也谈AutoEventWireup

    今天在论坛上遇到这样一个问题,在页面上可有一个H1标签,并设置该H1的runat=server,于是在后台修改这个H1的InnerHTM,但是运行的结果是,H1的InnerHTM的值始终修改不了。
    但是用他的代码在本地测试一下发现,可以修改呀!这是怎么回事?莫非见鬼了不成?后来仔细观察他的代码发现:

<%@ Page Title="Test 1" Language="VB" MasterPageFile="~/MasterPage.master" AutoEventWireup="false" %>

AutoEventWireup 的值是false. 问题就在这里。
如果AutoEventWireup 是false, 那么page的load事件时不执行的,所以H1的innerHTML的值不会被修改。
如果在Asp.NET中修改AutoEventWireup="true",会使页面与某些特殊的事件方法绑定,自动识别这些具有特定名称的事件,而不需要进行委托。这些特定名称包括:Page_Init, Page_Load, Page_DataBind, Page_PreRender和Page_Unload。

在大部分情况下,页面不需要关联如此多的特殊事件,会增加额外的操作和系统开销。同时, ASP.NET 页框架自动调用事件处理的方法基于其预定名称,这会导致到相同事件处理方法当页运行被调用两次,也会增大系统开销。

转载于:https://www.cnblogs.com/Amanda2007/archive/2008/05/15/1198415.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值