2013-05-07 54 views
5

我有一个用户控制,ASP.NET文本框失去对部分回发文本

在用户控制我有一个按钮,点击时其,示出了一个消息框,

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

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

我不能在Page_Load方法文本框的值,并将其保存到会话状态的文本框是动态填充

这是我试过到目前为止,

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

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

and

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

没有收获,只有痛苦。

+0

难道哟你尝试使用像这样的'Page.Controls.Add'来将动态添加的控件添加到页面。 – Saravanan 2013-05-07 11:17:15

+0

我正在将用户控件添加到我的web部件,这是页面中的一个控件,它是sharepoint,先生 – Mathematics 2013-05-07 11:19:08

回答

2

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

+0

+1,我在想这个,但我不认为这是做这件事的最好方法,先生 – Mathematics 2013-05-07 11:23:22

1

在ASP页

 

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

在C#

 

    hidtext.Value=textbox1.text; 

或VB

 


    hidtext.Value=textbox1.text 

后回传

 

    textbox1.text=hidtext.value; 

+0

谢谢先生,但是,我将如何设置hidtext先生的价值? – Mathematics 2013-05-07 11:35:53