我正在尝试在调用控件的CreateChildControls方法之前设置自定义Web控件的属性。原因是,在那里执行了许多逻辑,这取决于所讨论的属性的值。我可以用HTML中的显式值直接设置该属性,并及时获取它,但这对我没有用处,因为它需要基于服务器端变量。
棘手的一点是,正在从控件的“contents”属性的getter调用EnsureChildControls方法,该属性对应于aspx文件中的标记。例如。;
<myControl>
<content>
...
</content>
</myControl>
据我所知,这反过来会触发被重写的CreateChildControls方法,并且逻辑的执行没有我要设置的属性的正确值。
我想知道的是,在我的页面的ASP.NET生命周期中,我可以在哪里设置我的属性,以便它在.NET访问我的控件的“content”属性的getter之前设置?
我在父页上尝试过OnPreInit,但在控件上的CreateChildControls之后仍然会点击它。我也不想改变控件本身,因为它是一个通用控件,我不想在这个特殊情况下对它进行特殊的大小写。
有人知道我可以在哪里设置我的财产价值,以便按照我试图实现的顺序提取它吗?