asp.net 回发后页面如何保存变量
首先在我的master页面中有一个ID:textbox1的控件,我在master的内容页sub1.aspx中引用这个控件,但回发后,该引用就无效了,因为丢失了全局变量masterTextBox的值。public partial class sub1 : System.Web.UI.Page
{
private TextBox masterTextBox; //变量保存对象
protected void Page_Load(object sender, EventArgs e)
{
}
//点击第一个按钮,获得master页面中 ID为TextBox1的控件
protected void ButtonGetMasterControls_Click(object sender, EventArgs e)
{
masterTextBox=this.Master.FindControl("TextBox1") as TextBox;//获取master页面的控件
}
//点击第二个按钮,给master页面中的控件设置值
protected void ButtonChangeText_Click(object sender, EventArgs e)
{
masterTextBox.Text = "这是sub1.aspx设置的文本";//运行这里时出现异常,因为masterTextBox没有引用对象
}
}
我不想每次都用this.Master.FindControl("TextBox1") as TextBox;来获得控件引用,而让该控件由masterTextBox保存,可每次回发后,服务器会初始化masterTextBox,之前获得的引用就失效了。
viewstate只能保存键/值对这样的值,怎么样才能TextBox这样的对象呢? --------------------编程问答-------------------- 每一次页面的请求都会重新生成一次页面,也就是当前页面中所有的对象都会在内存中重新分配空间。即使你保存了对象也没有用的 --------------------编程问答-------------------- 既然保存不了,那就用不刷新咯! --------------------编程问答-------------------- 楼主你想持久化TextBox的原因是什么。。。。不就是为了取值吗。。。。自己写个TextBox就完全满足你需求了 --------------------编程问答-------------------- 用隐藏域怎样 --------------------编程问答-------------------- 获取值用ViewState
设置值用ViewState赋值
补充:.NET技术 , ASP.NET