我和我的ASPX页面上引用的用户控件的工作,我想知道有什么区别这两个页面之间的指令。

@Reference @Register

有帮助吗?

解决方案

@Register是更常用的指令。当你想在你的ASPX或ASCX页中使用用户控件声明可以使用此。 @Register关联特定前缀的控件,然后你可以用它在你的标记。

@Reference只告诉ASP.NET编译其他的控制,当你的aspx或ascx的编译页面。这将确保它是在运行时,可以通过编程方式添加到您的控制层次。这是不常见的,因为动态地改变用户控制在运行时是不COMON。

下面是一个很好的博客文章了。

HTTP://weblogs.asp。净/ johnkatsiotis /存档/ 2008/08/13 /的组基准directive.aspx

其他提示

@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
%>
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top