• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

在Asp.NEt中Page_Load()事件加载两次的现象

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

在用VS2005做WebForm项目时发现很多aspx页面加载的时候page_load()时加载两次,在Page页面上输出两个相同的结果,发现原来是AutoEventWireup属性搞得鬼:

      <%@ Page language="c#" Codebehind="Result.aspx.cs" AutoEventWireup="true" Inherits="test.Result" %>

      解决办法:

      <%@ Page language="c#" Codebehind="Result.aspx.cs" AutoEventWireup="false" Inherits="test.Result" %>

      原因分析: 

      如果   Page   指令的   AutoEventWireup   属性被设置为   true(或者如果缺少此属性,因为它默认为   true),该页框架将自动调用页事件,即   Page_Init   和   Page_Load   方法。在这种情况下,不需要任何显式的   Handles   子句或委托。   
      AutoEventWireup   属性的缺点是它要求页事件处理程序具有特定、可预测的名称。这限制了您在为事件处理程序命名时的灵活性。因此,在   Visual   Studio   中,AutoEventWireup   属性在默认情况下设置为   false,设计器会生成用于将页事件绑定到方法的显式代码。    
     如果将   AutoEventWireup   设置为   true,Visual   Studio   将生成用于绑定事件的代码,页框架将自动基于事件的名称来调用事件。这可能会导致在该页运行时两次调用相同的事件代码。因此,当在   Visual   Studio   中操作时,应尽量使   AutoEventWireup   设置为   false。   

      关于AutoEventWireup详细资料请参考微软MSDN   


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
asp.netmvc5中使用Swagger自动生成WebApi文档笔记发布时间:2022-07-10
下一篇:
第三部分01使用ASP.NETAJAX异步调用WebService(全)发布时间:2022-07-10
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap