【问题标题】:ASP.NET Custom Control StylingASP.NET 自定义控件样式
【发布时间】:2010-09-09 09:07:29
【问题描述】:

我正在着手开发几个 ASP.NET 自定义控件。我想知道我是否可以就您如何将样式应用于控件的想法获得一些意见。

我宁愿把它推成 CSS,所以对于我过去做过的几个控件,我只是简单地粘贴了一个字符串属性,它允许你输入字符串,然后以“style” 渲染时的属性。我知道我也可以使用“CSSClass”属性并应用“class”属性。

在创建“正确的”Style 属性(您实际保存样式对象并使用设计器指定其值)的方式方面,我没有做太多工作。对我来说,这似乎需要做很多工作,而且 TBH,我讨厌样式编辑器 UI,更愿意输入 CSS/类名称来应用..

您对此有何看法?


注意:这是一种主观的 - 所以要清楚:

接受的答案将是:

  • 提供各种方法的优缺点。
  • 欢迎提出意见,但好的回答应该是建设性的。
  • 用一些现实世界的知识/经验来支持它。

没有错误主观性。 存在一个问题,人们是主观的而不是思考,是建设性的或实际上提供了一些见解和经验。

>>不要将此标记为“主观” - 该标记是浪费时间。 “主观”不是人们会寻找的技术或类别。解决问题,而不是忽略它。

【问题讨论】:

    标签: asp.net styles custom-server-controls


    【解决方案1】:

    这将取决于自定义控件的使用方式 - 商业的、可再分发的控件应该与 VS IDE 兼容,并且在实现控件时按照用户期望的方式运行。

    另一方面,如果您或您的团队是唯一使用该控件的人,那么浪费大量时间来使样式生效是没有意义的,只要它的样式以合理的方式工作即可。

    我实现的大多数自定义控件都使用属性来定义控件的外观和感觉,或者只是公开控件的成员自己的 CSSClass 属性。

    争论归结为一致性与时间 - 任何元素都应使用一致的样式机制,如果时间紧迫,则使用字符串方法,否则,实现更复杂/IDE 友好的机制。

    【讨论】:

      【解决方案2】:

      我认为您应该考虑自定义控件的“目标市场”,例如,将使用它的人。

      如果是内部自定义控件,您几乎可以强制使用其中一个:如果它是公司内部的,您将有能力强制执行其一致性。

      但是,如果它用于商业消费,则需要您提供一个选项以提供一种使用样式或类的方法。例如:ASP.NET site navigation controls,例如 SiteMapPath、Menu、Treeview。它们有一堆属性,允许样式、类或两者的组合出现在控件外观的各个方面。

      【讨论】:

      • 抱歉,Jon,Martin 刚刚击败了你,而你又费心掩盖同样的问题。感谢您的回答:) +1'ed。
      猜你喜欢
      • 2012-08-21
      • 2012-03-02
      • 2023-04-04
      • 1970-01-01
      • 2011-02-27
      • 1970-01-01
      • 2019-12-17
      • 2012-03-26
      • 2010-09-23
      相关资源
      最近更新 更多