ASP.NET做项目时发现Page_Load被执行两次
前几天,在做ASP.NET时,发现我在点击页面上的按钮时,该页面的Page_Load事件有时被执行两次.真是奇怪,不是每一次,而是有时.于是仔细检查代码,没发现有任何有问题的地方.后来没辙,就到google上寻求帮助,原来遇到和我同样问题的人还真不少,莫非是微软的BUG?呵呵.
按照网上的说法:
第一:页面属性定义AutoEventWireup=”false”有没有添加?(排除,因为页面创建时,这是默认被添加的)
第二:有没有类似<img src=”">这样的标签存在,如有,很可能就是执行两次的原因.发现网上遇到这种情况的人特多.都说如果去掉这样的空标签,问题就能得到解决.
我一时兴奋了,貌似终于找到解决方法了.可是检查了我页面代码,这样的空标签还真没有,倒是有类似的,按钮我是使用的,翻译成HTML就是这样的<input type=”image” src=”…..”/>,真的和这个图片按钮有关吗?可是不用图片按钮,按钮又太难看了.不管怎么说,先换成普通按钮试试吧.改按钮imagebutton为普通button之后,问题真的解决了.看来问题真是出在按钮类型上啊,可是不用这个,按钮也太难看了,怎么办呢?想了想,不用这个,那直接用image行不行呢?
于是将按钮类型换成image,翻译成HTML<img id=”imgbutton” src=”…” />.执行,OK,大功告成,解决了.
至于为什么imagebutton的类型按钮按下后,Page_Load事件就有时被执行两次,实在是不能理解,在网上也搜索了,也没找到原因,希望有知道的能教教我哦.