【问题标题】:Benefits/Disadvantages .NET Forms 1 Page static Website of Having 30+ Nested User Controls?优点/缺点 .NET Forms 1 Page 静态网站拥有 30 多个嵌套用户控件?
【发布时间】:2014-09-24 09:27:33
【问题描述】:

我是 .NET 4.5 的新手,但如果基于表单的网站有一个用于 1 aspx 页面(1 页网站)的母版页,并且每个小的静态部分都在其自己的用户控件中,有时嵌套在另一个中4 层深,与将主要部分保留在 aspx 文件中而将页眉和页脚保留在主文件中相比,这种结构到底有什么好处?

访问每个用户控件(它本身是静态的,仅包含仅由用户控件中的那个小部分使用的 html、js、css - 例如滑块)而不是将它们全部放在一起似乎是一件令人头疼的事情因为它是静态的?

高级开发人员说结构是 .NET 中的工作方式,但我来自 php 背景,所以没有看到这里的智慧。

请帮我看看我的大脑拒绝接受什么。

【问题讨论】:

  • 这与asp-classic无关,请尝试重新标记为asp.net
  • 很抱歉。如果我知道 ASP 3.0 会在 .NET 诞生时 MS 宣布死亡 14 年后出现,生活会更轻松。
  • 我认为答案将是“取决于”。在某些情况下,控件的分离将提供很大的灵活性(如@KHeaney 建议的那样)。在其他情况下,根据组件/控件的大小,它会增加不必要的复杂性,就像您提到的那样。如果它是“适合你的解决方案”(TM),这里的任何人都很难给你一个具体的答案

标签: asp.net .net forms


【解决方案1】:

滑块实际上是一个很好的例子。想象一下,您决定自定义滑块,使其使用 Clorox 漂白剂瓶作为点图标。现在,当您对 Clorox 产品进行调查时,您希望在survey.aspx 上使用该滑块。想象一下,当您可以改用像

这样的 asp 标签时,现在必须使用所有代码来处理调查页面以处理该控件
<uc:cloroxslider>.

或者想象需要将其添加到另一个页面,然后需要在整个站点上编辑该静态控件,因为您决定滑块现在应该是 1-10 而不是 1-5。用户控件的重点是保存类似的静态项目,以便进行简单的编辑和重用。

我承认,尽管我确实看到像您暗示的那样嵌套用户控件有点不常见。当用户控件的设计方式可以被多个页面合理调用时,它们是最好的。如果它们实际上不能在父用户控件或页面之外以任何方式重用,我认为你的组使用它们的方式可能有点过于细化。

编辑:添加了更多信息

有关封装好处的更多讨论,请参见此处

ASP.NET ascx vs. aspx - Do you reuse user controls?

另外,虽然我对此了解不多,但您也可以做一些创建自定义再分发控件的操作,请参见此处:

http://msdn.microsoft.com/en-us/library/aa479318.aspx

【讨论】:

  • 是的,如果网站的页面超过 1 页,我同意你的看法。但是找出页面的某些部分不必要地位于哪个嵌套文件中所花费的时间只是让我感到烦恼。我认为除了我缺少的封装之外还有一些优势。那么,如果页面的一部分永远不会在任何地方再次被重用,那么将它放在用户控件中是否有意义?
  • 封装是最重要的。在一定程度上也有可读性。虽然挖掘这些文件可能会很痛苦,但在我看来,挖掘一个 100,000 行的文件总是更糟。还编辑了我的问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-11-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-05-31
  • 2018-02-24
  • 2014-03-21
相关资源
最近更新 更多