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

时间:2013-05-07 11:06:50

标签: c# user-controls webforms asp.net-ajax updatepanel

我有一个用户控件,

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

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

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

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

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

<asp:TextBox ID="textbox1" TextMode="MultiLine" runat="server" />

protected void Button1_Click(object sender, EventArgs e)
        {
string button1text = TextBox1Text;

public partial class myUserControl : UserControl
{
    public string TextBox1Text
    {
        get 
        {
            return Page.Session["TextBox1Text"] as string;  
        }
        set
        {
            Page.Session["TextBox1Text"] = TextBox1.Text;
        }
    }
  

没有收获,只有痛苦。

2 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:1)

ASP页面中的


    <input type="hidden" id="hidtext" runat="server" value="">

在C#中


    hidtext.Value=textbox1.text;

或VB



     hidtext.Value=textbox1.text

发回后


    textbox1.text=hidtext.value;

相关问题