日期:2014-05-18  浏览次数:20471 次

有关asp.net2.0页面生命周期的一个疑问
我在一个页面中,使用了动态添加控件的方法来生成一个编辑界面,代码逻辑如下:
        protected   void   Page_Load(object   sender,   EventArgs   e)
        {
                if   (!IsPostBack)
                {
      ...
                        BuildForm();
                }
                else
                {
                        BuildForm();
                }
        }

        //生成编辑界面
        void   BuildForm()
        {

  }

        //保存编辑结果
        void   Save()
        {

  }

  现在的问题是:在点击了保存按钮后,页面回传并重新建立了编辑界面,然后把控件状态(用户的输入)还原到新建立的编辑控件中,然后再执行Save()方法,在Save()中,绝大部份的控件值是正确的,但有一个CheckBox控件,其Checked值却总是false(在BuildForm()中是设为true的)。不知道这是为什么?是我对页面生命周期的理解有误吗?

------解决方案--------------------
有可能是这个CheckBox控件未设置AutoPostBack= "true ",而服务端某个事件处理程序对它作了操作。