我在过去的两年中一直使用ASP.NET(C#)。我学到了很多,但仍然有很多东西要学:)使用Web用户控件而不是Web窗体
我用MasterPages,“Web用户控件”的东西像头,导航,页脚等
一两件事,我从来没有真正理解是为您的内容和逻辑使用“Web用户控制”的做法;
Home.aspx ------ Home.ascx
AboutUs.aspx ----- AboutUs.ascx
Ordering.aspx ---- Ordering.acsx
我在过去几个月里一直在使用这个结构的几个项目。我知道这实际上是很常见的做法,但我并不真正了解所有的好处。
我记得当我尝试过这种方法之前,并最终有像Gridview的控件有可怕的viewstate问题......一旦我把所有的逻辑,并将其放置到一个.aspx页面一切工作正常。
我现在意识到,也许我需要在GridView添加到视图状态集合......但这只是巩固了我的困难转换为理解为什么使用这种方法 - 定的视图状态的问题。
我完全理解'网页用户控件'与头部,菜单,页脚等相关的优点......任何涉及重复的地方,但我见过的项目都有相当具体的页面/控件 - 在换句话说,它不太可能在其他地方重用 - aspx页面只包含一个带有内容和逻辑的控件(.ascx),它只会在该页面上使用,而不会在其他地方使用。
忽略“代码重用”,这是否方式提供什么好处?
Brian,在Web控件中放置类似评论表单的东西总是很有意义,我将所有这样的控件放置在控件中......也许这些项目我已经看过整个页面嵌套在一个Web控件中是不是做事情的方式? ....如果Home.aspx包含多个控件,如“HomepageSlideshow.ascx”,“TwitterFeed.ascx”,这将更有意义。 – Dal 2010-06-24 13:10:31
@Dal,正好。虽然技术上不同的页面和网页用户控件基本上表现得非常非常类似,并且需要有一个真正的目的,以便您描述的方法已被采用。没有进一步的细节,没有明显的好处 – 2010-06-24 13:14:09