English 中文(简体)
ASP.NET自定义控件样式
原标题:
  • 时间:2008-09-16 08:29:06
  •  标签:

我正在着手开发几个ASP.NET自定义控件。我想知道我是否可以得到一些关于你如何将造型应用于控制的想法。

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

我没有做太多创建“适当”Style属性的工作(在其中实际保存样式对象,并使用设计器指定其值)。对我来说,这似乎是一项艰巨的工作,而且TBH,我讨厌样式编辑器UI,更愿意键入CSS/类名来应用。。

What are your thoughts on this?


注意:这有点主观-所以要清楚:

接受的答案是:

  • Offers the pro s and con s of the various approaches.
  • Opinions are welcome, but a good answer should be constructive.
  • Backs it up with some real-world knowledge/experience.

主观性没有任何错误。有一个问题,人们主观,没有思考,没有建设性,或者实际上提供了一些见解和经验。

>>;不要<<将此标记为“主观”-该标记是在浪费时间。“主观”不是人们会寻找的技术或类别。解决这个问题,而不是置之不理。

最佳回答

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

另一方面,如果你或你的团队是唯一使用控件的人,那么浪费大量时间让造型发挥作用是没有意义的,只要它的造型以合理的方式发挥作用。

我实现的大多数自定义控件都使用属性来定义控件的外观或仅公开控件成员拥有的CSSClass财产。

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

问题回答

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

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

然而,如果它是用于商业消费的,则需要提供一个选项来提供使用样式或类的方法。一个很好的例子:ASP.NET站点导航控件,例如SiteMapPath、Menu、Treeview。它们有一组公开的财产,允许对控件外观的每个方面使用样式、类或两者的组合。





相关问题