将控件添加到用户控件中的容器控件 - 如何正确初始化?

时间:2009-10-17 20:03:07

标签: asp.net user-controls

假设我有一个用户控件MyUserControl,它有一个容器控件(它是一个服务器控件,但它可能只是一个Panel)和一个下拉列表。下拉列表最初不在容器控件中。在它的代码隐藏中,我重写了OnInit并创建了用户控件,其中包括填充下拉列表并将该下拉列表添加到我的容器控件中。我有一个公共财产年,这是一个int。根据Year的值,我想填充下拉列表。问题是在OnInit中,年份总是为0。

在页面Init上,我正在设置年份,但是直到控件的Init运行之后才会运行。如果我尝试在页面上设置PreInit上的值,页面没有初始化控件,并且在为控件设置值时我得到无效的空引用。

我的问题是:如何正确初始化控件?在控件实际初始化之前,如何在页面上设置值?

如果我将控件的代码移动到OnLoad,它将一直有效,直到我必须进行回发。在这种情况下,我需要,但是!

1 个答案:

答案 0 :(得分:0)

在用户控件的 PreRender 中设置属性。

我假设您

Check the accepted answer here >>>