not loading posted back form values?
<p>I used Firebug to verify, and my callback is firing successfully. In the "Post" portion, it shows that my TextBox (rather, the HTML that was rendered for my textbox) is successfully submitting its form value (whatever was entered in the textbox). However, on the server side, the value isn't being restored into the newly created TextBox -- even though everything I'm recreating has the same ID as it originally did. Furthermore I checked the Page.Request.Form collection (see: getControlAsHtml()) and none of the things I tried returned my value. Here is the code, appreciate any help.</p>

<p><strong>Summary</strong> </p>

<p>my goal is to perform a callback (currently working) and restore the value of my TextBox from the posted back form values (not working). Some (working) code has been omitted for brevity.</p>

<pre><code>public class CreateForm : WebPart, ICallbackEventHandler
{
    public string callbackData = "";
    public DropDownList list = new DropDownList();
    public Panel p = new Panel();

    public virtual string GetCallbackResult()
    {
        return callbackData;
    }

    protected override void OnInit(EventArgs e)
    {
        base.OnInit(e);

            //The DropDownList is created here in my real code, but was omitted
            //because it is working as expected.
            //At the moment, all the DDL does is cause a callback to occur.

        p.ID = "theForm";

        if (!Page.IsPostBack) 
        {
            MyForm MyForm = new MyForm();
            MyForm.ID = "currentForm";
            p.Controls.Add(MyForm);
        }

        Controls.Add(p);  
    }

    /*
     * The eventArgument field is parsed to get the desired command.
     * Valid commands:
     * 1) send - Indicates the user has clicked the 'send' button. 
     * 2) display - Indicates the user wants to change the form
     *              currently displayed.
     *    A drop down box is used to let the user choose the form. 
     */
    public virtual void RaiseCallbackEvent(string eventArgument)
    {
                if (eventArgument.StartsWith("display"))
            {
                //always index 0 for testing. 
                callbackData = CreateFormByType(0);
                }
    }

    public string CreateFormByType(int index)
    {
        MyForm test = null;

        switch (index)
        {
            case 0:
                test = new MyForm();
                break;
        }

        if (test != null)
        {
            test.ID = "currentForm";
            p.Controls.Add(test);
        }

        return test != null ? test.getControlAsHtml() : null;
    }

}

public class MyForm : Control
{
    public Label label = new Label();
    public TextBox textboxForLabel = new TextBox();

    protected override void OnInit(EventArgs e)
    {
            base.OnInit(e);

        textboxForLabel.ID = "textboxForLabel";
        label.AssociatedControlID = "textboxForLabel";
        label.Text = "textboxForLabel: ";

        this.Controls.Add(label);
        this.Controls.Add(textboxForLabel);
    }

    public virtual string getControlAsHtml()
    {
            //How come all 3 of these don't return the expected value?
        string s = Page.Request.Form[textboxForLabel.ID];
        string t = Page.Request.Form[textboxForLabel.ClientID];
        textboxForLabel.Text = (string)Page.Request.Form["textboxForLabel"];

        StringBuilder sb = new StringBuilder();
        using (StringWriter sw = new StringWriter(sb))
        {
            using (HtmlTextWriter textWriter = new HtmlTextWriter(sw))
            {
                this.RenderControl(textWriter);
            }
        }
        return sb.ToString();
    }
}
</code></pre>
