从回发Asp.Net上的动态用户控件获取值

从回发Asp.Net上的动态用户控件获取值,asp.net,web-applications,Asp.net,Web Applications,我创建了一个item user_控件,该控件有一个文本框、按钮等,它将有意收集用户想要的项目总数 我在页面加载上动态创建了一些用户控件。如果单击项目数量的“添加”按钮,它将添加到会话变量中。但是,当用户在文本框中输入不同的数量并单击“添加”按钮时,总数为文本框的原始值 如何获取用户在文本框中键入的值以添加到总计???在每次回发后重新创建控件时,需要为动态控件分配相同的ID。如果未为其分配相同的ID,ViewState将无法填充该值 protected override void OnInit(E

我创建了一个item user_控件,该控件有一个文本框、按钮等,它将有意收集用户想要的项目总数

我在页面加载上动态创建了一些用户控件。如果单击项目数量的“添加”按钮,它将添加到会话变量中。但是,当用户在文本框中输入不同的数量并单击“添加”按钮时,总数为文本框的原始值


如何获取用户在文本框中键入的值以添加到总计???

在每次回发后重新创建控件时,需要为动态控件分配相同的ID。如果未为其分配相同的ID,ViewState将无法填充该值

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

    TextBox txt = new TextBox();
    txt.ID = "txt1"; 

    PlaceHolder1.Controls.Add(txt);            
}

好啊它是用户_控件中的文本框。因此,我在usercontrol page_load或我将user_控件放入的页面中分配它?如果user控件是动态的,则在
页面
中分配page_load。如果文本框是动态的,那么在
用户控件
的页面加载中,当我将用户控件动态添加到页面时,是否必须重新创建用户控件中的所有控件?好的,我这样做了。当我试图在回发时获取用户控件的intance中的textbox值(Dim Tbox as textbox=UserControl_1.FindControl(“TextBox1”)时,我得到了它开始时的原始文本,在本例中是“1”,而不是用户键入的值。回发时是否为用户控件分配了相同的ID?