Регистрация пользовательского контрола в web.config

Programming
Предыдущий Следующий

Стандартно регистрация User Controls и Custom Controls в ASP.NET происходит с использованием тегов <%@ Register %>, т.е. пример

<%@ Register TagPrefix="shulga" TagName="header" Src="Controls/Header.ascx" %>
<%@ Register TagPrefix="shulga" TagName="footer" Src="Controls/Footer.ascx" %>
<%@ Register TagPrefix="ControlVendor" Assembly="ControlVendor" %>

<html>
<body>
    
<form id="form1" runat="server">
        
<shulga:header ID="MyHeader" runat="server" />
    </
form>
</body>
</html>

 Такой код прекрасно работает за исключением одного нескольких но. Во первых если мы контрол будет использовать на всех страничках сайта, то такой код вставлять лень. Во вторых если мы поменяем месть положения файла .ascx, то тогда нам придёться на всех страничках менять путь к файлу.

Решение просто, регистрация контролов в web.config:

<?xml version="1.0"?>

<configuration>

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

  
</system.web>

</configuration>

 Хочу заметить что здесь желательно использовать знак ~/ для указание места расположения контрола относительно корня приложения.

После  этого мы можем использовать контрол

<html>
<body>
    
<form id="form1" runat="server">
        
<shulga:header ID="MyHeader" runat="server" />
    </
form>
</body>
</html>

 

Самостоятельный отпуск Опыт заказа вывоза мусора в Киеве Магія зміни: Від ночі до дня
Магія Вечірнього Неба: Відлякуйте втомленість дня і зануртеся у світ загадок і краси