簡體   English   中英

ASP.NET @Register vs. @Reference

[英]ASP.NET @Register vs. @Reference

我正在我的ASPX頁面上引用用戶控件,我想知道這兩個頁面指令之間的區別。

@Reference @Register

@Register主要用於注冊標記前綴聲明性地使用頁面內的控件。

<%@ Register tagprefix="my" namespace="MyNamespace" %>

<my:CustomControl runat=server />

@Reference主要用於引用頁面或用戶控件(通過文件名或虛擬路徑)以編程方式引用頁面或控件的成員

<%@ Reference Control="MyControl.ascx" %>

<%  MyControl ctrl = (MyControl) Page.LoadControl("MyControl.ascx");
    ctrl.CustomProperty = "..."; //REFERENCE directive is needed to access property
%>

@Register是更常用的指令。 如果要以聲明方式在aspx或ascx頁面中使用用戶控件,請使用此方法。 @Register將控件與特定前綴相關聯,然后您可以在標記中使用它。

@Reference只告訴ASP.NET在編譯aspx或ascx頁面時編譯其他控件。 這可確保它在運行時可用,並可以編程方式添加到控件層次結構中。 這不太常見,因為在運行時動態更改用戶控件不是comon。

這是一篇關於它的好博文。

http://weblogs.asp.net/johnkatsiotis/archive/2008/08/13/the-reference-directive.aspx

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM