رجيستر کردن Custom control و User control
  رجيستر کردن Custom control و User control
   ASP.NET
   ۳۸۰۰۹
   این مقاله حاوی فایل ضمیمه نمی باشد
   رکسانا زاهدی
   ۱۳۸۷/۵/۴
ارسال لینک صفحه برای دوستان ارسال لینک صفحه برای دوستان  اضافه کردن به علاقه مندیها اضافه کردن به علاقه مندیها   نسخه قابل چاپ نسخه قابل چاپ

 

همانطور که می دانید با استفاده از تگهای معروف زیر قادر هستید که یک یوزر کنترل و یا custom control  را در برنامه خود وارد کنید. مانند مثال زیر:


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

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

این تگها به خوبی کار می کنند اما اگر تعداد صفحاتی که قرار است از این کنترلها استفاده کنند زیاد باشد، با مشکل مواجه خواهیم شد. ASP.Net  راه حل ساده ای را پیشنهاد می کند. به جای اینکه این تگ را در تمام صفحه ها قرار دهیم، فثط یکبار آنرا در   Web.Config در قسمت Pages->Controls به صورت زیر تعریف کنیم:


<?xml version="1.0"?>

<configuration>

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

  </system.web>

</configuration>

    زمانی که کنترلها را به این ترتیب رجیستر کنید، می توانید در برنامه خود در هر صفحه، User control یا Master Page به سادگی از آن استفاده کنید و نیازی به تعریف مجدد آن در آن صفحه نیست.


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