C#Asp.Net用户控制按钮单击

时间:2009-11-02 12:42:21

标签: c# asp.net controls init

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

3 个答案:

答案 0 :(得分:3)

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

如果你发现它在调试器中被设置为你期望的值,那么在事实发生之后其他东西正在改变它的可能性很大。这将是您的代码,ViewState或立即控件之外的其他内容。找到它,你应该能够做些什么。

答案 1 :(得分:1)

我不认为控件完全存在于init。

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

答案 2 :(得分:0)

进一步阐述其他答案。

每当ASP.Net网站启动时,就会以非常具体的顺序发生五件事。阅读Luke的链接,找出该订单并相应地进行绘图。