zoukankan      html  css  js  c++  java
  • 用户自定义控件的嵌套问题

    开发人员通过在页面的顶部添加 <%@ Register %> 指令来引入和使用自定义服务器控件和用户控件时

    <%@ Register TagName="Pager" TagPrefix="ucl"  Src="~/UserControl/Pager.ascx"%>

    假使现在用户控件ListShow 需引用同一目录下的Pager.ascx控件   通过在 web.config 文件中声明的用

    户自定义控件不能直接被同一目录的用户自定义控件引用

    如ListShow需引用同目录下的Pager控件的话

    需在ListShow控件头部先注册  <%@ Register TagName="Pager" TagPrefix="ucl"  Src="~/UserControl/Pager.ascx"%>

    在web.config文件配置了用户控件
    <pages>
    <controls>
    <add tagPrefix="WUC" tagName="PageList" src="~/hl/account/pagelist.ascx" />
    </controls>
    </pages>

    aspx调用用户控件的时候出错:
    <WUC:PageLIst ID="FenYe" runat="server" />

    报错信息:
    页“/hl/account/accountlist.aspx”无法使用用户控件“/hl/account/LogTop.ascx”,因为此控件已在 web.config 中注册并且与该页位于同一个目录中。

    这是是什么原因呢?

    原因如下:

    通过 pages.controls.add 注册的 UserControl,如果和该用户控件在同一级目录aspx文件引用此用户控件的,仍然要是使用 Regisert 指令在aspx页面中对此控件进行注册,否则 ASP.NET 就无法解析了,

    解决方案:

    1.在aspx页面通过Regiset指令再次注册改用户控件

    2.给用户控件新建目录 UserControls/ 避免用户控件和需要引用该用户控件的aspx在同一级目录。

    附上在web.config文件注册用户自定义控件的方法

    ASP.NET 2.0 使得控件声明极其干净而且管理起来极其容易。不用在你的页面上重复这些声明,只要在你的应用的web.config 文件的新的 pages->controls 部分声明一次即可:

    <?xml version="1.0"?> 

     <configuration> 

      <system.web>
        
        
    <pages>
          
    <controls>
            
    <add tagPrefix="scottgu" src="~/Controls/Header.ascx" tagName="header"/>
            <
    add tagPrefix="scottgu" src="~/Controls/Footer.ascx" tagName="footer"/>
            <
    add tagPrefix="ControlVendor" assembly="ControlVendorAssembly"/>
          </
    controls>
        
    </pages>

      </system.web>

    </configuration>

  • 相关阅读:
    tree related problems (update continuously)
    [单元測试]_[VC2010使用gtest单元測试入门]
    generate alphanumeric serial number
    UiAutomator源代码分析之获取控件信息
    Fckeditor常见漏洞的挖掘与利用整理汇总
    AsyncAwait
    .Net异步编程知多少
    ParameterizedThreadStart task
    AsyncAwait 学习
    8天玩转并行开发——第八天 用VS性能向导解剖你的程序
  • 原文地址:https://www.cnblogs.com/lushuicongsheng/p/1907176.html
Copyright © 2011-2022 走看看