我在ASP.NET 3.5中编写了一个ServerControl,并且公开了CssClass,因此用户可以操纵控件的外观。我的问题是我想要建立合理的默认值,以便用户不必配置CSS,除非他想更改默认值。CssClass和ServerContol中的默认图像
我的具体问题是,我的控件发出html div,需要显示背景图片。我希望用户能够在CSS中指定不同的图像,但我想显示一个默认的背景图像,但我无法做到这一点。
整个服务器控件以div形式发出,类名设置为用户在CssClass中提供的值。需要背景图像的div被包含在这个外部div中,并带有它自己的类名。我目前在包含该控件的页面上的CSS中设置背景图像:
<style type="text/css">
.cssClass .innerDiv {
background-image: url("http://....");
}
</style>
使用此功能绘制正确的图像。但是,如果它不存在,则不会绘制图像。
我想要的是ServerControl发出一些CSS来定义这些图像URL,这将被用户添加的任何css覆盖,并且该默认CSS将URL包含到嵌入的图像中ServerControl的程序集。
而且我不知道该怎么做。也不是,对于这个问题,我确定这是最好的方法。
任何想法?
可能有需要设置的六种样式中的多个样式,这会使创建单独的属性变得乏味和容易出错。 OTOH,检查看到用户指定了CSS类名称将不起作用。如果用户包含一个CSS类,并且没有在其中定义背景图像URL,我仍然需要提供默认值。 – 2010-03-29 20:02:30
这是大多数.NET框架控件的工作原理(尽管它们使用Style类而不是css类)。在某种程度上,如果用户忘记了背景图像url,那么他们有责任设置这个......这就是它与大多数自定义控件框架的关系。不知道你正在开发什么级别... – 2010-03-29 22:54:44