程序中要对ListBox的条目进行区分着色,虽然<Option>元素没有现成的forecolor,但有style,并且style中有color.
ListBox的Items集合中又有Attributes.Add方法,后面跟两个参数,因此可以写成
ListBox1.Items[i].Attributes.Add("style", "color:blue;");
本来以为问题解决了,但后来发现每次只着一个条目的颜色.
原来,这是WinForm程序与Web程序的两种思想之差异:
在WinForm模式中,我的程序处理原则是:当点击另一个条目时,设置一下上一个条目的颜色,设置完成后,“如果没有代码指明要清除,就不会将其颜色清除”.
而在Web程序中,由于每次网页是重新刷新的,因此“如果没有代码指明要设置,就不会设置其颜色”.
因此,我现在就每次都全部检测过一遍,需要的设置一下.
但后来又发现,我的检测代码放在条目变更的事件中,结果其它事情激发后,条目的颜色又全部清为原来的颜色.这时才想到原来在GOOGLE中找到的别人建议,"一般会把Attributes.Add"放在Page_Load中,这是有道理的.