该测试的目的是在于在页面载入时动态创建一个Textbox空间并将当前最新的时间赋值给它的Text属性并显示在页面上,然后通过单击页面上的Button控件引起页面回发,使得Textbox更新显示最新的时间。
可是在页面回发后Textbox中的时间文本一直保持在页面第一次载入时的时间,并不能更新为最新的时间。
我试过如果把这个实现放在Button空间的Click事件中是没问题的,但是为何在Page_Load事件中就不行呢?
请大家帮我解释下背后的原理所在,谢谢了!
测试用的Default.aspx页面内容如下:
测试用的Default.aspx.cs文件代码如下:
using System;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
string timeNow = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
TextBox txt = new TextBox();
txt.ID = "txtTest";
txt.Text = timeNow;
((Page)HttpContext.Current.Handler).Form.Controls.Add(txt);
}
}