2009-12-21 41 views
1

在过去,我总是将@ <%@ Register ...%>指令放在@ Page指令下面的.aspx页面的顶部。我最近发现,我可以将这个寄存器指令ANYWHERE放在.aspx页面,并且仍然可以正常工作。我们想知道,如果有任何问题,人们可以将用户控件的第一个实例上述这些权利,例如预见:ASP.NET - @ Register注册指令的放置

<%@ Page .. %> 

<div> 
<asp:TextBox ..> 
... 
... 
<%@ Register src="~/UserControls/UserControl.ascx" ..> 
<uc1:UserControl ..> 
... 
</div> 

如果我们这样来做,它使人们更方便复制和粘贴用户控件从一个页面到另一个页面。这种风格有什么缺点吗?

回答

1

通常情况下,这不是一种好的做法,因为您可以在页面上拥有多个UserControl。我会继续在上面做,或者如果它是应用范围的考虑将其放置在你的web.config文件:

http://weblogs.asp.net/scottgu/archive/2006/11/26/tip-trick-how-to-register-user-controls-and-custom-controls-in-web-config.aspx

+0

感谢您的回复 - 这似乎是我们希望能够在多个页面中使用的用户控件的一个很好的解决方案。 – Keith

0

查看Directive Syntax

摘录的MSDN参考:

使用时,指令可以位于.aspx或.ascx文件中的任何位置 , ,但标准做法是将它们包括在文件的开始位置 。 每个指令都可以包含 特定于该指令的一个或多个 属性(与值配对)。

有用的信息为@Register

+0

是的,我读过,并没有明显提及将@ Register指令放在任何地方的缺点。 – Keith