ASP.NET自定义控件样式
我正在着手研究几个ASP.NET自定义控件。我想知道我是否可以就我们如何将样式应用于控件的想法得到意见。
我宁愿用CSS来推送它,因此对于过去我做过的几个控件,我只是简单地添加了一个string属性,该属性允许我们键入字符串,然后在渲染时将其放入" style"属性。我知道我也可以使用" CSSClass"属性并应用" class"属性。
我在创建"适当的" Style属性方面没有做太多事情(实际上我们在其中保存了样式对象,并使用设计器来指定其值)。在我看来,这似乎是一项艰巨的工作,对于TBH,我讨厌样式编辑器UI,而宁愿键入要应用的CSS /类名。
我们对此有何想法?
注意:这是一种主观的,所以要明确:
可接受的答案将是:
- 提供各种方法的优缺点。
- 欢迎提出意见,但是好的答案应该是建设性的。
- 用一些实际的知识/经验来进行备份。
主观性没有错。人们存在主观而不是思考,建设性或者实际上提供一些见识和经验的问题。
DO NOT <<将其标记为"主观的",即标记是浪费时间。 "主观"不是人们会寻找的技术或者类别。解决问题而不是将其清除。
解决方案
回答
这将取决于自定义控件的使用方式。商业,可重新分发的控件应符合VS IDE,并在实现控件时以用户期望的方式运行。
另一方面,如果我们或者团队是唯一使用该控件的人,只要它以合理的方式进行工作,就没有浪费大量时间来使样式生效。
我实现的大多数自定义控件都使用属性来定义控件的外观,或者仅公开控件成员自己的CSSClass属性。
参数归结为一致性与时间的关系,任何元素都应使用一致的样式机制,如果时间紧迫,则应使用字符串方法,否则,请使用更复杂的/ IDE友好机制。
回答
我认为我们应该将自定义控件(例如使用它的人)考虑为"目标市场"。
如果是内部自定义控件,则几乎可以强制使用一个或者另一个:如果是公司内部的,则可以强制执行其一致性。
但是,如果要用于商业用途,则要求我们提供一个选择,以提供使用样式或者类的方法。例子:ASP.NET网站导航控件,例如SiteMapPath,菜单,树视图。它们具有一堆公开的属性,以允许对控件外观的每个方面进行样式,类或者两者的组合。