我的控件放在一个大Table中,可动态更换中间的子控件
如将A控件删除换成B控件,这时要把B控件所在TableCell的行列
及B控件的类型信息写到ViewState中,
以免下次CreateChildControls时
在Table的同一行列行列生成B类型控件当A控件删除换成B控件时Postback一次更换成功
但这时在B控件上输入任何值点击其他按扭Postback
B控件的值丢失(因为B控件在这次Postback的CreateChildControls中
ViewState中的信息又被初始为空若再次Postback B控件的信息就可保存),
如果在这次回传时获得其中的数据就好了。请问我该如何做?

解决方案 »

  1.   

    ...
    IPostBackDataHanlder是针对数据回发的。.
    例如你的控件的id是myctrl
    那么表单提交内应该要有名字为myctrl的数据才有效果。
      

  2.   

    你试试这个就知道了。
    在override public void Render里:
    writer.Write("<input type=hidden id='");
    writer.Write(UniqueID);
    writer.Write("'/>");
      

  3.   

    protected override void Render(HtmlTextWriter output) 
    {
        output.Write("<INPUT type= text name = "+this.UniqueID +
            "value = " +  this.Text + " >");
    }