5

我有一个用户控件,

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

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

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

我无法在 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;
        }
    }

没有收获,只有痛苦。

4

2 回答 2

2

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

于 2013-05-07T11:19:35.873 回答
1

in ASP page

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

in C#

    hidtext.Value=textbox1.text;

or VB


     hidtext.Value=textbox1.text

after post back

    textbox1.text=hidtext.value;

于 2013-05-07T11:28:53.467 回答