Benefits/Disadvantages .NET Forms 1 Page static Website of Having 30+ Nested User Controls?
.NET 4.5是我的新手,但是如果一个基于表单的网站的1个aspx页面(一个页面的网站)有一个母版页,并且每个静态的小部分都在其自己的用户控件中,则有时将一个嵌套在另一个控件中深4层,这种结构相对于将主节保留在aspx文件中而将页眉保留在主文件中的好处是什么呢?
转到每个用户控件似乎很麻烦(它本身是静态的,仅包含用户控件中的该小节所使用的html,js,css,例如一个滑块),而不是全部包含在一起因为它仍然是静态的?
高级开发人员说,该结构是.NET中工作的完成方式,但是我来自php背景,因此在这里看不到任何智慧。
请帮助我看看我的大脑拒绝接受什么。
实际上,滑块是一个很好的例子。假设您决定自定义滑块,以使其使用Clorox Bleach瓶作为点图标。现在,当您进行有关Clorox产品的调查时,您希望在Survey.aspx上使用该滑块。想象一下,当您可以改为使用像
这样的asp标记来处理一个控件时,现在所有要填充调查页面的代码
1 | <uc:cloroxslider>. |
或者设想需要将其添加到另一个页面,然后需要在整个站点上编辑该静态控件,因为您确定滑块现在应该是1-10,而不是1-5。用户控件的重点是保留静态项目,例如这些内容,以进行简单的编辑和重复使用。
尽管我承认确实确实像您所暗示的那样嵌套用户控件有点罕见,但我还是会承认。当用户控件的设计方式使其可以被多个页面合理地调用时,它们是最好的。我认为如果您无法实际以父级用户控件或页面之外的任何方式重用它们,则您的组使用它们的方式可能有点过于精细。
编辑:添加了更多信息
有关封装优势的更多讨论,请参见此处
ASP.NET ascx与aspx-您是否重用用户控件?
此外,尽管我对此不了解很多,但是您也可以做一些事情来创建自定义的重新分发控件,请参见此处:
http://msdn.microsoft.com/en-us/library/aa479318.aspx