ASP.NET自定义控件样式

时间:2008-09-16 08:29:06

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

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

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

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

您对此有何看法?


注意:这有点主观 - 所以要明确:

接受的答案将是:

  • 提供各种方法的专业人士和意见。
  • 欢迎提出意见,但一个好的答案应该是建设性的。
  • 以一些现实世界的知识/经验为后盾。

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

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

2 个答案:

答案 0 :(得分:3)

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

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

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

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

答案 1 :(得分:2)

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

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

但是,如果它用于商业消费,则需要提供一种选择,以提供使用样式或类别的方法。例证:ASP.NET site navigation controls,例如,SiteMapPath,菜单,Treeview。它们具有一系列属性,允许将样式,类或两者的组合用于控件外观的每个方面。