首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >命名容器在扩展器中没有被“设置”

命名容器在扩展器中没有被“设置”
EN

Stack Overflow用户
提问于 2009-09-15 00:34:32
回答 1查看 365关注 0票数 1

我想我可能知道原因,但不知道如何在不进行大量代码重写的情况下修复它(这是我更喜欢避免的)。

我有过

代码语言:javascript
复制
public class datecontrol : basecontrol
{
    private ImageButton _ImageButton;
    private TextBox _EditControl;
private CalendarExtender _CalendarExtender;
....
    public datecontrol{
      _ImageButton=new ImageButton();
      _EditControl=new TextBox();
      _CalendarExtender=new CalendarExtender();
      .....
      _CalendarExtender.TargetControlID=_EditControl.ID;
    }
}

代码语言:javascript
复制
public class basecontrol : Panel,INamingContainer
....

现在是奇怪的部分了。在查找作为TargetID的_EditControl的ID时,_CalendarExtender显示错误。这听起来像是命名容器的问题,所以我找了又找,但什么也找不到。然后我用调试器查看了一下。正如预期的那样,_EditControl和_ImageButton都将其命名容器设置为this,但是_CalendarExtender将其命名容器设置为null

我很乐意自己尝试用_CalendarExtender.NamingContainer=this;来解决这个问题,但这是一个只读属性。

我认为这可能发生的唯一原因是因为_CalendarExtender继承自ExtenderControl->Control。面板继承自WebControl->Control的位置。

有没有人知道我可能遗漏了什么,或者这个问题的解决办法之类的?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2009-09-15 13:52:03

好吧,我将日历扩展器(稍后在代码中)添加到一个不同的面板,而不是包含编辑控件的面板,我想这就是我得到这样一个错误的原因。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1424563

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档