CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  ASP.NET

迷惑问题---关于页面重复刷新

楼主yuosh(陈晨)2003-12-02 19:26:33 在 .NET技术 / ASP.NET 提问

在项目中遇到的奇怪问题:  
  一个最简单的页面,有一个服务端text控件:TextBox1,显示刷新次数;  
  一个HTML表格;  
  提交页面时,会重复刷新,这是为什么呢?  
  代码如下:  
  .aspx文件:  
  <body   MS_POSITIONING="GridLayout">  
  <form   id="Form1"   method="post"   runat="server">  
  <asp:TextBox   id="TextBox1"   style="Z-INDEX:   101;   LEFT:   122px;   POSITION:   absolute;   TOP:   43px"   runat="server"></asp:TextBox>  
  <TABLE>  
  <TR>  
  <TD   background="#FFFFFF"></TD>  
  </TR>  
  </TABLE>  
  </form>  
  </body>  
   
  .vb文件,记录刷新次数  
          Private   Sub   Page_Load(ByVal   sender   As   System.Object,   ByVal   e   As   System.EventArgs)   Handles   MyBase.Load  
                  Dim   jiang   As   Integer  
                  jiang   =   CType(Page.Session.Item("jiangtest"),   Integer)  
                  jiang   =   jiang   +   1  
                  Page.Session.Add("jiangtest",   jiang)  
                  TextBox1.Text   =   CType(Page.Session.Item("jiangtest"),   Integer).ToString  
          End   Sub  
   
  好像只有使用HTML表格且设置了其TD的background属性后才会重复刷新,请知道的朋友帮忙解释一下原因 问题点数:100、回复次数:17Top

1 楼osborne(做人要本份!)回复于 2003-12-02 19:31:44 得分 10

Dim   jiang   As   Integer  
                  jiang   =   CType(Page.Session.Item("jiangtest"),   Integer)  
                  jiang   =   jiang   +   1  
                  Page.Session.Add("jiangtest",   jiang)  
                  TextBox1.Text   =   CType(Page.Session.Item("jiangtest"),   Integer).ToString  
   
  放到!Page.IsPostBackTop

2 楼yuosh(陈晨)回复于 2003-12-02 19:38:53 得分 0

我是想知道原理,能告诉我为什么吗?  
  那些特征的控件,在哪些情况下会重复刷新?  
  :)Top

3 楼kwklover(随风)回复于 2003-12-02 19:56:20 得分 50

<TD   background="#FFFFFF"></TD>  
   
    这句有错吧,background=背景图片地址,bgcolor=颜色代码  
   
  其他不知道哦,我没测试过Top

4 楼xiajianfeng()回复于 2003-12-02 20:00:14 得分 10

服务器端控件的初始化都应该放在!Page.IsPostBack  
  它表明页面在第一次LOAD时才会被调用Top

5 楼asam2183(三山)回复于 2003-12-02 20:09:02 得分 10

只要有runat="server"标识的控件,当你提交时,都会先跑到page_load  
   
  然后再执行相应该控件的代码处理部分Top

6 楼yuosh(陈晨)回复于 2003-12-02 20:11:12 得分 0

to     kwklover(随风):  
  代码无误呀  
   
  to   xiajianfeng(权利的战车):  
  这个我知道,我想知道的是为什么会重复PostBack,和有哪些特征的控件,在哪些情况下会重复刷新  
  Top

7 楼xinshaw(清瘦卫郎)回复于 2003-12-02 20:12:59 得分 10

按钮点击后先触发   Page_Load   和   Page_Unload,所以在Load中应加入  
  if   (!IsPostBack)    
  {  
            ......  
  }Top

8 楼xinshaw(清瘦卫郎)回复于 2003-12-02 20:14:36 得分 10

按钮,超链等等点击都是这样Top

9 楼yuosh(陈晨)回复于 2003-12-02 20:30:57 得分 0

我知道,但你们可以试试我贴的代码,打开页面后按F5刷新,每刷新一下,它会走两遍Page_Load,TextBox1的值会加2,或者你加个WEB端button按钮,点击它刷新页面,那么它的执行顺序是:  
  先走Page_Load(),  
  然后走btn_Click(),  
  最后又走一边Page_Load(),问题就在这,它为什么要走呢,在走完btn_Click()后应该结束本次提交了啊!  
  同样,你可以把background="#FFFFFF"属性去掉,他就只走一遍Page_Load()了,谁能解释吗?  
   
  Top

10 楼yuosh(陈晨)回复于 2003-12-02 20:33:47 得分 0

去掉了background="#FFFFFF"属性后,它为什么又只走一遍Page_Load()了呢?  
  太多的刷新会影响效率的Top

11 楼wang_cel(哦哦)回复于 2003-12-02 20:37:26 得分 0

dingTop

12 楼gordenfl(笨笨(杨过寻找姑姑,两行泪....))回复于 2003-12-02 20:54:22 得分 0

我有个高中同学也叫陈晨!!  
  不知道楼主是不是新疆的??Top

13 楼smalltree822(小树)回复于 2003-12-02 21:00:19 得分 0

别在page_load里写  
  写在   button_click   事件里Top

14 楼yuosh(陈晨)回复于 2003-12-02 21:03:23 得分 0

不是的,我女友姓陈,我名字中有晨字,呵呵,扯远了Top

15 楼yuosh(陈晨)回复于 2003-12-02 21:10:40 得分 0

to   smalltree822(小树):  
  在button_click()里写当然是只会执行一次session赋值操作,但page_load()还是走两次呀,WHY?Top

16 楼cnhgj(戏子) (没时间练太极)回复于 2003-12-02 22:09:20 得分 0

执行button事件是会先执行page_load事件的,你在page_load事件中写  
  if(!IsPostBack)  
  {    
        //不想重复执行的代码  
  }Top

17 楼yuosh(陈晨)回复于 2003-12-02 23:04:53 得分 0

to   kwklover(随风)   :  
  你说的对,我没注意,background=背景图片地址;  
  我写的background="#FFFFFF"是错的,.net编译也没出错,  
  我换成bgColor="#ffffff"就对了,只刷新一次。  
  现在看来是background="#FFFFFF"赋值错误才导致其多刷新了一次,问题虽然找到了,但是为什么写成background="#FFFFFF",asp.net不出错而只是多刷新一遍呢?  
  有知道的吗?Top

相关问题

  • 页面刷新后重复提交
  • 页面刷新
  • 刷新页面?
  • 页面刷新
  • 页面刷新时的数据重复添加问题
  • 能否让手机客户端,重复刷新页面??
  • 刷新页面重复提交的问题
  • 页面的刷新
  • ASP.NET 页面刷新
  • 请教:如何防止页面刷新造成的数据重复提交?

关键词

  • 页面
  • 重复刷新
  • 问题

得分解答快速导航

  • 帖主:yuosh
  • osborne
  • kwklover
  • xiajianfeng
  • asam2183
  • xinshaw
  • xinshaw

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo