是不是 If ispostback 的问题

解决方案 »

  1.   

    所有控件和页面Page_Load()中都是空的,没东西.
      

  2.   

    我是这样想的:当点击注册按钮时页面回传,index页从新生成,palceholder的controls中的内容于是也被重置,viewstate应该不会保存这个吧.动态加载的注册控件被清空了,这样就无法相应事件.于是我用session吧palceholder保存下来,但问题依旧...着急啊
      

  3.   

    在 .ascx 里加属性保存需要的信息,这样主页面回发的时候才不会丢掉信息
    如:private string name;public string Name
    {
    get{ return(name); }
    set{ name= value; }
    }
      

  4.   

    在用户控件中定义一个事件,当按钮事件里触发这个事件,定义一事件(全局)   eventnamebutton_click(......)
    {
    raiseevent eventname
    }
      

  5.   

    在加载页面时就将事件写进去。
    this.btnSave.Click += new System.EventHandler(this.btnSave_Click);
    加入到Page_Load里,要在IsPostBack外面写。
      

  6.   

    动态把控件加载到表单,在表单发送之间不保留控件。
    就是控件不保留在ViewState中,但数据被保留在ViewState中。
    你必须在ViewState中做处理。
      

  7.   

    ViewState默认都是开得,我应该怎么处理?
      

  8.   

    你跟踪一下Button事件。
    ok---在ViewState中记录控件数据和相关信息,以便下次用。
    no--
    if(!Page.idPostback)
    {
        //第一次加载控件。
    }看不到具体情况,试吧。
      

  9.   

    问题是button根本不响应事件,我都不知如何是好,你仔细看看我得问题,描述得很清晰了,谢谢!
      

  10.   

    用ViewState保存状态 
    把palceholder放入ViewState中式式
      

  11.   

    我用session保存了都不行,viewstate还不可以放这个控件,楼上的最好做个试验
      

  12.   

    动态添加的话,可能每次提交都要添加一下.
    程序是先执行page_load,再执行控件的事件的.
    提交的时候在page_load里看一下该控件是否为nothing
      

  13.   

    msdn中在动态控件和视图状态这个章节说:如果在现有控件之间插入动态控件,该动态控件的视图状态信息将插入到视图状态结构的相应位置。在发送页并加载视图状态时,动态控件还不存在;因此,视图状态中的附加信息将不会对应于正确的控件。结果通常是出现表明存在无效强制转换的错误。但是没有给怎么解决啊
      

  14.   

    page_load里没有任何代码,不同动态控件的加载是通过主页面上的按钮触发的,没法在page_load里写.
      

  15.   

    private void lbtReg_Click(object sender, System.EventArgs e)
    {
    Control reg = this.LoadControl("UserControl/Reg.ascx");
    placeholder.Controls.Add(reg);
    }
    这是首页面按钮下的写法.
      

  16.   

    viewstate你可以在控件内写。
    如定义属性
    public string str
    {
        get{return (string)ViewState["mystr"];}
        set{ViewState["mystr"]=value;}
    }这样你就能取str了。------
    事件引发。
    button的事件引发了。
    可以把button的事件绑定方法,做发送数据到数据库的处理。this.Button.Click+=new System.Eventhandler(this.function)
    -----
    或者,
    声明事件。
    public Event Click;
    在需要引发的地方调用。
    this.Click(this,Event.Empty).
    ---
    你查下帮助,调试一下。
    -----
      

  17.   

    问了一圈人没有问到,自己想了好久终于把问题解决了,参考msdn的说法:
    如果在现有控件之间插入动态控件,该动态控件的视图状态信息将插入到视图状态结构的相应位置。在发送页并加载视图状态时,动态控件还不存在;因此,视图状态中的附加信息将不会对应于正确的控件.于是我回传页面的时候我把控件保存在session中,保存了状态,于是解决了.就这么简单!真不知道该把分数给谁,见者有分吧,感谢大家支持!