我有一个用户控件,
在用户控件中,我有一个按钮,单击该按钮时会显示一个消息框
消息框有一个文本框和另一个按钮,
当我点击另一个按钮时,我需要在后面的代码中获取文本框值,但它根本没有发生,因为按钮正在进行部分回发,而文本框只是丢失它的状态。
我无法在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;
}
}
没有收获,只有痛苦。
答案 0 :(得分:2)
我使用UpdatePanels已经有一段时间了,但我相信在部分回发时,他们只会为其中的控件发送更新值。因此,将TextBox移动到UpdatePanel中,或者使用Javascript在UpdatePanel内部使用TextBox的上下文填充隐藏控件。
答案 1 :(得分:1)
<input type="hidden" id="hidtext" runat="server" value="">
在C#中
hidtext.Value=textbox1.text;
或VB
hidtext.Value=textbox1.text发回后
textbox1.text=hidtext.value;