3

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

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

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

您对此有何看法?


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

接受的答案将是:

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

主观性没有错_ 人们主观而不思考,建设性或实际上提供一些洞察力和经验是有问题的。

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

4

2 回答 2

3

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

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

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

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

于 2008-09-16T08:41:11.813 回答
2

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

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

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

于 2008-09-16T08:44:13.927 回答