ASP.NET - @ Register指令的放置

时间:2009-12-21 14:29:56

标签: asp.net user-controls coding-style directive

过去我总是把我的<%@ Register ...%>我的.aspx页面顶部的指令位于@ Page指令的正下方。我最近发现我可以将这个寄存器指令ANYWHERE放在.aspx页面中,但仍然可以正常运行。我们想知道是否有人可以预见将这些问题放在用户控件的第一个实例之上,例如:

<%@ Page .. %>

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

如果我们这样做,它可以更轻松地将用户控件从一个页面复制并粘贴到另一个页面。这种风格有什么缺点吗?

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

请参阅Directive Syntax

上的MSDN参考

摘录:

  

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

@Register的有用信息。