<asp:TextBox ID="TextBox1" runat="server" Text="text1" ></asp:TextBox> protected override void LoadViewState(object savedState)
{
Response.Write(TextBox1.Text);
base.LoadViewState(savedState);
Response.Write(TextBox1.Text);
}
这个方法两次输出的TextBox1.Text都为text1,我页面运行时改了TextBox1的值(修改多次),但是前后还是为text1。我是这样理解 base.LoadViewState(savedState)调用之前为控件的初始值text1,调用后就应该为上次回传后的视图状态的控件值。所以说难道 base.LoadViewState(savedState)的调用难道控件的视图状态没有恢复,要等 protected override void LoadViewState(object savedState)方法执行完成后再去调用page下各个子控件的LoadViewState??
{
Response.Write(TextBox1.Text);
base.LoadViewState(savedState);
Response.Write(TextBox1.Text);
}
这个方法两次输出的TextBox1.Text都为text1,我页面运行时改了TextBox1的值(修改多次),但是前后还是为text1。我是这样理解 base.LoadViewState(savedState)调用之前为控件的初始值text1,调用后就应该为上次回传后的视图状态的控件值。所以说难道 base.LoadViewState(savedState)的调用难道控件的视图状态没有恢复,要等 protected override void LoadViewState(object savedState)方法执行完成后再去调用page下各个子控件的LoadViewState??
解决方案 »
- 求助!在线客服系统
- 如何对SqlDataAdapter的返回值进行判断?
- 关于VS2010与sliverlight???
- asp.net 关键字 颜色 问题
- datasource
- 关于数据库前台绑定的问题,在线等
- smtp发邮件问题?
- 如何动态添加FileUpload控件??
- [Browsable( true ) , Description( "当前页记录数" ) , Category( "分页" ) , DefaultValue( 0 )]//这一行是什么意思
- 高分请教:DATAGRID中内置DROPDOWNLIST(数据绑定)时报错。(附代码)
- Ajax应用中Development server有bug?
- sql备份成SQL文件的.net代码
也就是在 LoadViewState 后, Page_load 前
<asp:TextBox ID="TextBox1" runat="server" Text="text1" ></asp:TextBox> protected override void LoadViewState(object savedState)
{
Response.Write(TextBox1.Text);
base.LoadViewState(savedState);
Response.Write(TextBox1.Text);
}
这个方法里面为什么两个输出都是text1,即使页面中的TextBox1修改多次,多次回传还是输出text1
按照你的说法意思base.LoadViewState(savedState)调用后所有控件的视图状态都已经恢复,那下面的输出应该是上一次该控件的视图状态啊,为什么还是总是输出原始值text1
------------------------------------------------------------------------
不好意思 ,这是错误的。正确的是 page 会先调用自己的 LoadAllState 方法在 LoadAllState 方法 内会调用 LoadViewStateRecursive 方法(Control)在 LoadViewStateRecursive 方法 会依次调用 LoadViewState 和LoadChildViewState 是顺序调用的关系, LoadChildViewState 有两个版本 分别是LoadChildViewStateByID 和 LoadChildViewStateByIndex
说了TextBox的Text属性通常情况下是不会保存到视图中的,如果你确实需要记录它的值,可以这么做:
ViewState["textBox1.text-value"] = TextBox1.Text;
这样就把TextBox的值保存起来了,以后要用的时候再取出