子web.config无法从父web.config </controls> </pages>清除<pages> <controls>

时间:2010-04-13 22:18:41

标签: asp.net

如何在我的子应用程序的web.config中“清除”供应商定义的<controls>

Parent Web Config。

<system.web>
    <pages>
        <controls>
             <!-- START: Vendor Custom Control -->
             <add tagPrefix="asp" namespace="VENDOR.Web.UI.Base" assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral />
             ...
             <!-- END: Vendor Custom Control -->
             ...
           </controls>
       <tagMapping>
         <add tagType="System.Web.UI.WebControls.WebParts.WebPartManager" mappedTagType="Microsoft.Web.Preview.UI.Controls.WebParts.WebPartManager" />
         <add tagType="System.Web.UI.WebControls.WebParts.WebPartZone" mappedTagType="Microsoft.Web.Preview.UI.Controls.WebParts.WebPartZone" />
       </tagMapping>
     </pages>
</system.web>

孩子:

<system.web>
    <pages>
        <controls>
            <add tagPrefix="asp" namespace="System.Web.UI" assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
            <add tagPrefix="asp" namespace="System.Web.UI.WebControls" assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
        </controls>
        <tagMapping>
            <clear/>
        </tagMapping>
    </pages>
</system.web>

我让它适用于<tagMapping>部分,但<controls>不支持<clear/>

2 个答案:

答案 0 :(得分:2)

stopping web.config inheritence有一种鲜为人知的方式。在您的情况下,您会在<location inheritInChildApplications="false">...</location>元素周围粘贴<system.web>...</system.web>。当然这会删除部分中所有内容的继承,但如果你正在寻找它,它将解决你的继承问题。

答案 1 :(得分:0)

为每个tagprefix尝试<remove/>,可能与顶部的<clear/>一起使用