1

在我的代码中,我在 page_load 事件中加载了一个用户控件 (uc)。uc 包含一个将标签文本设置为文本框值的按钮。( lblTest.Text = txtText.Text) 。这在我的页面的加载事件中工作正常。但是当我在我的 Init 事件中设置 uc 的加载时,标签没有设置。当我设置断点时,我看到按钮事件被触发,文本被设置(在代码中),但是当页面完成加载时,标签是空的。这怎么可能?

4

3 回答 3

3

进一步检查代码以确保控件的文本没有被覆盖或设置回空文本。(具体来说,请进一步查看 Page_Init、Page_Init 调用的函数以及 Page_Load 及其调用的函数。)

如果您看到它在调试器中被设置为您期望的值,那么很有可能在事后有其他东西正在改变它。这将是您的代码、ViewState 或其他您无法直接控制的东西。找到那个,你应该可以做点什么。

于 2009-11-02T13:04:25.370 回答
1

我不认为控件在初始化时完全存在。

本文解释了页面事件周期,并可能解释您遇到的问题: http ://www.15seconds.com/issue/020102.htm

于 2009-11-02T12:50:56.513 回答
0

进一步详细说明其他答案。

每当一个 ASP.Net 站点启动时,都会以非常特定的顺序发生五件事。阅读卢克的链接以找出该顺序并相应地绘制。

于 2009-11-02T13:10:53.300 回答