在我的代码中,我在page_load事件中加载了一个用户控件(uc)。 uc包含一个按钮,用于将标签文本设置为文本框值。 (lblTest.Text = txtText.Text
)。这在我的页面的加载事件中工作正常。但是当我在我的Init事件中设置uc的加载时,标签没有设置。当我设置断点时,我看到按钮事件被触发,文本被设置(在代码中),但是当页面加载完毕后,标签为空。怎么可能?
答案 0 :(得分:3)
在代码中进一步检查以确保控件的文本没有被覆盖或设置回空文本。 (具体来说,请进一步查看Page_Init,Page_Init调用的函数,以及Page_Load及其调用的函数。)
如果你发现它在调试器中被设置为你期望的值,那么在事实发生之后其他东西正在改变它的可能性很大。这将是您的代码,ViewState或立即控件之外的其他内容。找到它,你应该能够做些什么。
答案 1 :(得分:1)
我不认为控件完全存在于init。
本文解释了页面事件周期,并可能解释您遇到的问题: http://www.15seconds.com/issue/020102.htm
答案 2 :(得分:0)
进一步阐述其他答案。
每当ASP.Net网站启动时,就会以非常具体的顺序发生五件事。阅读Luke的链接,找出该订单并相应地进行绘图。