`

软件开发

阅读更多
今天在做CS结构时,用了Comobox控件,发现在给控件绑定数据源的时候也要调用控件的下拉列表改变事件。

在BS结构里,页面的最上行的AutoEventWireup 属性,是表明该页的事件是否为自动连网的。如果为ture,则启用自动连网功能,默认为true

自动连网也就是,会自动调用页事件,即Page_Init和Page_Load方法

设为true会自动注册一些委托和事件,否则需要自己写委托和事件。

下面是转载的:

使用Asp.NET时,新建的aspx页面第一行page指令中包含了一个AutoEventWireup属性。网上的很多教程认为这一属性,甚至这一行代码都是没用的。其实,这是不了解Asp.NET事件处理模型的表现。简单来说,这一属性决定了当前页是否自动关联某些特殊事件。
    首先,从浏览器页面触发的事件不能立刻在本地得到处理,而是POST至服务器上,因此,Asp.NET建立了委托(代理)机制。在建立一个事件的同时,建立相应的委托:

private void InitializeComponent()
  {   
    this.mybutton.Click += new System.EventHandler(this.Button1_Click);//委托
  }

private void Button1_Click(object sender, System.EventArgs e)
  {
    //事件内容
  }

    委托将事件与该页面显式关联。在AutoEventWireup="false"时,如果没有委托,事件将不执行。

    这与早期VB采用的隐式事件挂起截然不同,各有利弊。但,Asp.NET中可以修改AutoEventWireup="true",使页面与某些特殊的事件方法绑定,自动识别这些具有特定名称的事件,而不需要进行委托。这些特定名称包括:Page_Init, Page_Load, Page_DataBind, Page_PreRender和Page_Unload等。比如:

private void Page_Load(object sender, System.EventArgs e)
  {
    // 事件内容
  }

    针对这些事件方法,开发人员可以利用该参数避免编写过多的链接代码。如果该属性设置为"false",则代码应改为:

private void InitializeComponent()
  {   
    this.mybutton.Click += new System.EventHandler(this.Button1_Click);//委托
    this.Load += new System.EventHandler(this.Page_Load);//可以用AutoEventWireup属性避免的委托
  }

private void Page_Load(object sender, System.EventArgs e)
  {
    // 事件内容
  }

private void Button1_Click(object sender, System.EventArgs e)
  {
    //事件内容
  }

    一定不可以在没有委托的情况下使用Page_Load类似的方法!

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

相关推荐

    软件开发过程和软件开发生命周期-PPT课件.ppt

    "软件开发过程和软件开发生命周期" ...软件开发过程和软件开发生命周期是软件开发的两个重要概念,软件开发过程模型是软件开发的结构框架,为软件项目的管理提供里程碑和进度表,并为软件开发提供原则和方法。

    软件开发与项目管理课后练习(参考答案)

    "软件开发与项目管理课后练习(参考答案)" 本资源摘要信息涵盖了软件开发与项目管理的基础知识点,包括软件开发模型、软件生命周期、软件工程、软件危机、软件生存周期模型等。 一、软件开发模型 软件开发模型是...

    软件开发技术报告 软件开发技术报告

    【软件开发技术报告】主要探讨了GPS全球定位系统的软件开发技术,特别是关于卫星星历的计算和GPS单点定位的数学模型。GPS是美国在20世纪70年代开发的全球卫星导航系统,具备高精度、全天候的定位能力。随着技术的...

    软件开发生存周期

    软件开发生存周期知识点总结 软件开发生存周期是软件开发过程中一个重要的概念,它指的是软件从需求分析到最终交付的整个生命周期。在这个生命周期中,软件开发团队需要经历多个阶段,包括需求分析、设计、实现、...

    软件开发流程规范.doc

    "软件开发流程规范" 软件开发流程规范是指在软件产品开发过程中,每个步骤的规范和输出文档的要求。该规范旨在确保软件开发过程的规范性、可重复性和可维护性。 1. 软件产品开发的一般流程 软件产品开发的流程...

    信息化项目软件开发费用测算指南V4.0

    "信息化项目软件开发费用测算指南V4.0" 在信息化项目中,软件开发费用测算是非常重要的一步骤。为了确保软件开发项目的成本控制和预算管理,需要制定科学、合理的费用测算方法。《信息化项目软件开发费用测算指南V...

    软件开发和测试环境维护记录单.rar

    在医疗行业中,软件开发与测试环境的维护是至关重要的,特别是在医疗器械软件的开发过程中,它直接关系到产品的质量和患者的安全。"软件开发和测试环境维护记录单.rar"这个压缩包文件,显然包含了按照《医疗器械生产...

    软件开发的过程与管理

    在软件开发领域,过程与管理是确保项目成功的关键要素。软件开发的过程涵盖了从需求分析到系统维护的各个阶段,而有效的管理则确保这些过程能够高效、有序地进行。本教程将深入探讨这两个方面,帮助新手全面理解软件...

    软件开发方案设计(模板)下载

    软件开发方案设计模板是软件开发过程中不可或缺的一部分,它为软件开发团队提供了一个通用的设计模板,帮助团队成员更好地理解和实施软件开发项目。该模板包括完整的格式、标题、目录、摘要等等,旨在帮助团队成员...

    软件开发概要设计模板.docx

    软件开发概要设计模板 软件开发概要设计模板是一个重要的文档,用于记录软件开发项目的总体设计和接口设计。通过阅读该文档,我们可以了解软件开发项目的概要设计、总体设计、接口设计、用户接口设计等方面的知识点...

    软件开发文档说明(完整流程)

    软件开发文档是软件开发过程中的核心组成部分,它们不仅记录了软件开发的各个阶段,还确保了团队间的沟通清晰,降低了项目风险。以下是关于软件开发文档的详细解释: 首先,软件开发设计文档包括以下几类: 1. ...

    软件开发管理规范

    ### 软件开发管理规范知识点详述 #### 一、引言 在现代信息技术领域,软件开发是一项复杂且精细的工作。为了确保软件的质量、提高开发效率并规范开发流程,许多组织都制定了详细的软件开发管理规范。本篇将依据给定...

    软件开发考核指标

    ### 软件开发考核指标详解 #### 一、引言 在软件开发过程中,合理的考核机制对于确保项目顺利进行至关重要。本篇文章基于给定文件中的信息,详细阐述了软件开发考核的重要性和具体实施方法。 #### 二、软件开发...

    软件开发安全管理规定.doc

    软件开发安全管理规定 软件开发安全管理规定是为了加强软件开发的安全管理,保护软件开发中软件和信息的安全。本规定适用于软件开发过程中的需求分析、设计、开发及测试等阶段的安全管理。 第一章总则 * 软件开发...

    软件开发项目考核办法

    软件开发项目的考核办法是一个至关重要的环节,它涉及软件研发的各个阶段,包括需求分析、设计、编码、测试、部署和维护等。考核办法不仅关注项目的最终成果,还包括对项目管理和团队协作能力的评估。有效的项目考核...

    政府投资应用软件开发项目价格评估及计算方法...pdf

    目前,对于政府投资应用软件开发项目的费用评估,缺乏对应的标准,不便于政府部门对其进行费用核算。为规范政府投资应用软件开发项目价格、保障建设质量以及维护建设方和开发商的利益,特制定本标准。 鉴于目前政府...

    软件开发安全管理规定

    软件开发安全管理规定 软件开发安全管理规定是为了加强软件开发的安全管理,保护软件开发中软件和信息的安全。本规定适用于软件开发过程中需求分析、设计、开发及测试等阶段的安全管理。 软件安全需求分析 软件...

    软件开发完整流程 整套文档

    在软件开发过程中,一个完整的流程通常包括多个关键阶段,这些阶段相互衔接,共同确保软件产品的质量和效率。"软件开发完整流程 整套文档"提供的资料正是为了指导开发者们按照科学的步骤进行工作。以下是根据标题和...

Global site tag (gtag.js) - Google Analytics