Welcome 微信登录

首页 / 网页编程 / ASP.NET / ASP.NET自定义控件 第一天 简单的星级控件

ASP.NET自定义控件 第一天 简单的星级控件2011-09-02 博客园 holywolf1. 引言

我们经常会在网页上看到使用星形图案表示对某个软件或某篇文章的评价,通 常以五个星形作为最高标准,指定的等级对应使用实心填充,如图1-1所示,在学 习ASP.NET自定义控件的第一天,我们将开发这样的自定义控件。

2. 分析

可以看到这样的一个自定义控件包含两部分:显示的文本和包含两种图案(实 心和空心星形)的图片,为了呈现出这样的结果,最方便的就是将这两部分放到 包含一行两列的表格中。接下来要考虑的就是如何根据评分显示若干实心和空心 星形。

看到这个图案的第一个想法可能就是根据评分首先显示实心图形,再判断还需 要显示几个空心星形(用5减评分),这样的话需要做多次循环才能实现,但是在 HTML里有更好的实现方法。

想一下在使用CSS设置背景图片时可以设置background-repeat属性,该属性标 识背景图片按哪个方向重复,可以利用这个特性首先显示一个外层的div,该div 始终显示5个空心的星形图形,在该层中嵌套另一个div,内层div显示实心星形图 案。

background-repeat、background-image、background-color、 background-position构成了设置背景样式的属性族
既然可以按X方向重复星形背景,那么显示指定个数的星形也就有答案了—我 们可以根据得分设置指定层(div)的宽度即可,而且为了方便,将两个星形图案 放置到一个图片文件里,再应用background-position显示指定位置星形即可。

根据以上分析,此自定义控件中需要具有两个属性:

属性描述
Comment评分项目注释,字符串类型
Score得分,根据该属性显示相应的实心图形,数字类型