G+

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

Программирование Asp.net
Предыдущий Следующий

Стандартно регистрация 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>

 

Комментарий:
Комментариев пока нету
Самостоятельный отпуск Опыт заказа вывоза мусора в Киеве