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.IsPostBack

解决方案 »

  1.   

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

  2.   

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

  3.   

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

  4.   

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

  5.   

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

  6.   

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

  7.   

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

  8.   

    别在page_load里写
    写在 button_click 事件里
      

  9.   

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

  10.   

    执行button事件是会先执行page_load事件的,你在page_load事件中写
    if(!IsPostBack)

       //不想重复执行的代码
    }
      

  11.   

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