调用 EnsureChildControls() 后所有控件仍然为空?
根据此页面的布局方式,所有数据均在 Page_Init
处加载。好吧,我有一个自定义控件,但遇到了问题。
我将它放在页面上,如下所示:
<cc:SomeControl... />
然后我使用
MyControl.Value="blah";
简单的东西在 Page_Init 处设置值。
Value
是一个访问器,并且具有与此类似的内容:
public string Value{
get...
set{
EnsureChildControls();
MyHiddenField.Value=value;
}
}
在这里我遇到了问题。它表示 MyHiddenField
为 null。 Page_Init
是不是太早了?或者我还需要调用其他函数吗?
The way this page is laid out, all of the data is loaded at Page_Init
. Well, I have a custom control that is having problems with this though.
I have it on the page like so:
<cc:SomeControl... />
And then I set the value at Page_Init using
MyControl.Value="blah";
Simple stuff..
The Value
is an accessor and has something similar to this:
public string Value{
get...
set{
EnsureChildControls();
MyHiddenField.Value=value;
}
}
and it is here that I have a problem. It says that MyHiddenField
is null. Is Page_Init
just too early for this? Or is there some other function I need to call?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
解决此问题的方法是从使用命名空间引用 CustomControl 更改为使用 src 并将文件名
更改
为:
The fix for this was changing from using a namespace to reference the CustomControl to using a
src
with a filenamechanging this:
to this: