当前位置:  开发笔记 > 编程语言 > 正文

ASP.NET UserControl不初始化子控件

如何解决《ASP.NETUserControl不初始化子控件》经验,为你挑选了1个好方法。

在我的页面内,我有以下内容:


    
        
    

KeywordSelector控制是我在相同组件限定和控制local被映射到它的命名空间.

控件由其他几个控件组成,定义如下:

<%@ Control Language="C#" AutoEventWireup="true"
            CodeBehind="KeywordSelector.ascx.cs"
            Inherits="Keywords.KeywordSelector" %>

并且有很多自己的服务器控件,都被定义为.designer.cs文件中的成员.

但是,在控件生命周期的任何部分都没有任何子控件对象,也不会生成HTML:

    .designer.cs文件中定义的所有成员都是null.

    要求HasControls退货false.

    呼吁EnsureChildControls什么都不做.

    Controls集合是空的.

删除UpdatePanel没有好处.我尝试在一个干净的页面中重现它与新UserControl的相同的事情发生.

我在.NET Framework 3.5 SP1上使用ASP.NET和集成的Web服务器.

我在这里错过了什么?

更新#1:在Rob的评论之后,我调查OnInit并发现UserControl它没有检测到它有任何子控件.而且,CreateControlCollection从来没有被称为!



1> Omer van Klo..:

好吧,我发现了问题:

    用户控制,而不是自定义控件必须注册一个接一个在web.config中的文件.做这个:

    代替:

    永远不要将a WebControl放在与Control使用它相同的目录中.这是彻头彻尾的愚蠢.在这里阅读它.

谢谢您的帮助.现在,如果我能记住我自己的答案是的答案...

推荐阅读
135369一生真爱_890
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有