page_load被执行了多次

waterjkd 2011-12-01 02:20:53
各位,为什么在我启动页面时,被多次提交,也就是page_load被走了多次。
asp.net代码如下(page_load走了4次):

<%@ Page Language="vb" AutoEventWireup="true" CodeFile="Login.aspx.vb" Inherits="Login" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<title>login</title>
</head>
<body style="background-color: #fefefe">
<form id="form1" runat="server">
<div style="top: 0px;">
<table cellpadding="0" cellspacing="0" id="main" runat="server" style="width: 100%;
height: 590px; text-align: center; background-color: #fefefe; top: 0px">
<tr>
<td style="height: 300px; vertical-align: bottom;">
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<table cellpadding="0" cellspacing="0" id="main_up" runat="server" style="background-color: #fefefe;
width: 100%; text-align: center">
<!-- service logo -->
<tr>
<td style="background-image: url(image/backimage.gif); background-repeat:repeat-x; width: 20%; background-attachment: scroll; height: 100%;">
</td>
<td colspan="3" align="left" style="background-image: url(~/image/backimage.gif); background-repeat:repeat-x; width: 25%;">
<asp:Image ID="ImageLK" runat="server" ImageUrl="~/image/LK-logo.gif" />
</td>
<td style="background-image: url(image/backimage.gif); background-repeat:repeat-x; width: 20%; background-attachment: scroll;">
</td>
</tr>

</table>
</ContentTemplate>
</asp:UpdatePanel>
</td>
</tr>
</table>
</div>
<div style="text-align : center;">
<asp:Label ID="Label1" runat="server" Text="Copyright© aaa, Inc." Font-Names="Verdana" Font-Size="XX-Small"></asp:Label></div>
</form>
</body>
</html>


如果去掉

<td colspan="3" align="left" style="background-image: url(~/image/backimage.gif); background-repeat:repeat-x; width: 25%;">
<asp:Image ID="ImageLK" runat="server" ImageUrl="~/image/LK-logo.gif" />
</td>

那么page_load就被走了2次。

求解~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
...全文
356 23 打赏 收藏 转发到动态 举报
写回复
用AI写文章
23 条回复
切换为时间正序
请发表友善的回复…
发表回复
ximenwuji 2011-12-02
  • 打赏
  • 举报
回复
在load事件中
if(!isposback)
{

加入你的代码
}
zaicui 2011-12-02
  • 打赏
  • 举报
回复
没有后台代码,谁也不知道你在后台干了些什么!
waterjkd 2011-12-02
  • 打赏
  • 举报
回复

<td style="background-image: url(image/backimage.gif); background-repeat:repeat-x; width: 20%; background-attachment: scroll; height: 100%;">
</td>
。。。。。
<td style="background-image: url(image/backimage.gif); background-repeat:repeat-x; width: 20%; background-attachment: scroll;">
</td>



如果去掉一上两句,也可以去掉一次page_load,但是无论只去掉以上两句的哪一句,load次数都没变化。
hhh305743261 2011-12-02
  • 打赏
  • 举报
回复
if(!ispostback)
waterjkd 2011-12-02
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 sandy945 的回复:]
页面上有几个图片标签
[/Quote]
貌似有关系,不解~~~~~

可能和run=server有关。
waterjkd 2011-12-02
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 dinglang_2009 的回复:]
asp:UpdatePanel
可能是因为你使用了微软的ajax控件造成的。
[/Quote]
去掉Ajax后,一样被执行多次!
waterjkd 2011-12-02
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 woshisadshiwo 的回复:]
诡异……
记得有一个IsPostback,可以试试
[/Quote]
不好用~一样被执行!
waterjkd 2011-12-02
  • 打赏
  • 举报
回复

<%@ Page Language="vb" AutoEventWireup="true" CodeFile="WebForm1.aspx.vb" Inherits="WebForm1" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<body >
<form >

<table >
<tr>
①<td style="background-image: url(image/backimage.gif); ">
 </td>
②<td style="background-image: url(~/image/backimage.gif); " >
③<asp:Image ID="ImageLK" runat="server" />
 </td>
④<td style="background-image: url(image/backimage.gif); ">
 </td>
</tr>
</table>
</form>
</body>
</html>


原因基本知道了。
首先,造成多次调用的原因是使用了image相关的东西。

为什么会被走四次呢?
1。page_load启动时一次。
2。②一次
3。③一次
4。①和④共一次,因为①和④加载的是同一图片。

至于为什么图片会被多次加载,自己参看下面的地址意会吧!

http://blog.sina.com.cn/s/blog_4d38a3b00100w97h.html
http://www.cnblogs.com/66feifei/archive/2007/04/09/705721.html
waterjkd 2011-12-02
  • 打赏
  • 举报
回复
[Quote=引用 21 楼 cliu_beijing 的回复:]
LZ,这你代码,我测试的时候就调用一次啊,

我曾经遇到这个问题,挺奇怪的,莫名奇妙的调用两次,后来逐个排查,是因为引用了两JS造成的。
[/Quote]

我的代码会调用4次。原因不是js造成的。
cliu_beijing 2011-12-02
  • 打赏
  • 举报
回复
LZ,这你代码,我测试的时候就调用一次啊,

我曾经遇到这个问题,挺奇怪的,莫名奇妙的调用两次,后来逐个排查,是因为引用了两JS造成的。
waterjkd 2011-12-02
  • 打赏
  • 举报
回复
[Quote=引用 18 楼 zifengshen1981 的回复:]
UpdatePanel 大概是这个控件的特性,局部刷新。。可能是多个控件绑定造成的咯,没绑定一次都会造成回发
[/Quote]
貌似和这个没关系。
waterjkd 2011-12-02
  • 打赏
  • 举报
回复
[Quote=引用 17 楼 dongt1 的回复:]
前台后台都贴一下代码。或者楼主注释一部分,一部分的测试加断点
[/Quote]
后台没有代码已经说过了,前台也是一句句删掉测似的,问题描述过了,只是不太明白为什么。
紫魂一号 2011-12-02
  • 打赏
  • 举报
回复
UpdatePanel 大概是这个控件的特性,局部刷新。。可能是多个控件绑定造成的咯,没绑定一次都会造成回发
dongt1 2011-12-02
  • 打赏
  • 举报
回复
前台后台都贴一下代码。[color=#FF0000]或者楼主注释一部分,一部分的测试加断点[/color]
chen_ya_ping 2011-12-02
  • 打赏
  • 举报
回复
好像跟图片有关系,还有就是table,好像是一个属性不对,不知道是不是image的source不设置,或者是甚至不对,都会引起page_load走2次的

google搜 “image page_load 2次” 有答案,楼主看看。
waterjkd 2011-12-02
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 zaicui 的回复:]
没有后台代码,谁也不知道你在后台干了些什么!
[/Quote]
后台什么也没做,load里啥也没有……,只是打了个断点,load被多次执行了。
zincy 2011-12-02
  • 打赏
  • 举报
回复
没有后台代码,谁也不知道你在后台干了些什么!

服务器控件都会激发Page_load的
waterjkd 2011-12-02
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 ximenwuji 的回复:]
在load事件中
if(!isposback)
{

加入你的代码
}
[/Quote]
首先是加了也没用,其次,这不是问题的关键!
丁码农 2011-12-01
  • 打赏
  • 举报
回复
asp:UpdatePanel
可能是因为你使用了微软的ajax控件造成的。
youcx2010 2011-12-01
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 poolboys 的回复:]

vb?
[/Quote]
我用奇怪
加载更多回复(3)

62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧