现有一页面A.aspx,A中放了4个用户控件,A继承了类B中的一个方法f(),并在A的Page_Load()种调用了类B的方法f(),现发现f()被执行了3次,请问大虾们怎样控制让方法f()只被执行一次?

解决方案 »

  1.   

    if(!IsPostBack)
    {
    F()
    }
      

  2.   

    没有这么简单
    A的Page_Init()和用户控件的page_Load和Init都试过,都不行啊!!!
      

  3.   

    “A继承了类B中的一个方法f()”这话不合“继承”的道理呀?你断点跟踪过吗?确实是A的page_load被执行三次吗?如果断点跟踪,你至少可以从(调试->窗口->调用堆栈)堆栈中看出调用的过程和前面各个调用时的环境变量值。
      

  4.   

    说明一下:是类A继承了类B,类B中的一个方法f()
      

  5.   

    实在不行,就在a中加一个private变量,用它记录f()的执行次数,为1次就false,为0就true
      

  6.   

    实在不行,就在a中加一个private变量,用它记录f()的执行次数,为1次就false,为0就true用单例模式 变化下咯
      

  7.   

    A继承于B,,,,然后又在A中用到了B中的方法,,,是不是这里出的问题啊?