ASP.NET文本框在部分回发时丢失文本

Mat*_*ics 5 c# user-controls updatepanel webforms asp.net-ajax

我有一个用户控件,

在用户控件中,我有一个按钮,单击该按钮时会显示一个消息框,

消息框有一个文本框和另一个按钮,

当我点击另一个按钮时,我需要在后面的代码中获取文本框值,但它根本不会发生,因为按钮正在进行部分回发,而文本框只是丢失了它的状态.

我无法在page_load方法中获取文本框值并将其保存到会话状态,因为文本框是动态填充的

这是我到目前为止所尝试的,

<asp:TextBox ID="textbox1" TextMode="MultiLine" runat="server" />
Run Code Online (Sandbox Code Playgroud)

protected void Button1_Click(object sender, EventArgs e)
        {
string button1text = TextBox1Text;
Run Code Online (Sandbox Code Playgroud)

public partial class myUserControl : UserControl
{
    public string TextBox1Text
    {
        get 
        {
            return Page.Session["TextBox1Text"] as string;  
        }
        set
        {
            Page.Session["TextBox1Text"] = TextBox1.Text;
        }
    }
Run Code Online (Sandbox Code Playgroud)

没有收获但只有痛苦.

Dav*_*ins 2

我已经有一段时间没有使用 UpdatePanels 了,但我相信在部分回发时,它们只发送其中控件的更新值。因此,将 TextBox 移至 UpdatePanel 内,或者可能使用 Javascript 在更新时用 TextBox 的上下文填充 UpdatePanel 内的隐藏控件。