html页面不能引用<% page,为何在Page_Load事件中动态添加控件并通过代码为其属性赋值后只能显示页面第一次载入时所赋的值?...

本文探讨了一个ASP.NET应用程序中遇到的问题,即在页面加载时动态创建的Textbox无法在页面回发后更新显示最新时间。作者指出,将时间更新的逻辑放在Button点击事件中可以正常工作,但在Page_Load事件中则失效。问题的关键在于动态控件在回发时不保留状态。解决方案是使用ViewState或在每次回发时重新创建并设置控件。
摘要由CSDN通过智能技术生成

该测试的目的是在于在页面载入时动态创建一个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);

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值