for ( int i = 0; i < rbl.Items.Count; i++ )
{
     rbl.Items[i].Attributes.Add("title","test" + i.ToString());
}我看了生成的HTML中,每个LABEL都没有TITLE这个属性

解决方案 »

  1.   

    你不能这么做
    radiobuttonlist从listbox来,listbox解析成html的select元素,radiobuttonlist的子项是listitem,解析成select的子项option元素。option的title无效。可以这样做:
    rbl.Items[i].Attributes.Add("onmouseover","MyJavascriptShowToolTipFunction()");MyJavascriptShowToolTipFunction里面,显示一个div层
      

  2.   

    楼上的关键不在于TITLE是不是对,而在于Attributes.Add不上去
    生成的HTML是:
    <input id="rbl_0" type="radio" name="rbl" value="1" /><label for="rbl_0">选项1</label>
    <input id="rbl_1" type="radio" name="rbl" value="2" /><label for="rbl_1">选项2</label>
    这样的,并没有生成Onmouseover或TITLE这样的属性
      

  3.   

    直接用radiobuttonlist来实现看来比较困难,可能是受radiobuttonlist的基类公开的属性所限,asp.net在产生radiobuttonlist对应的html代码时不能输出我们附加的代码(如title属性或包裹radiobutton项的<span>标签。但是有一个替代的方法可以实现这个效果,就是使用多个radiobutton,按需求设置每个radiobutton的Tooltip,然后设置它们的GroupName为同一组名使它们被选中时互斥即可。这样每个radiobutton输出的html代码类似于:
    <span title="Tips1"><input id="RadioButton1" type="radio" name="1" value="RadioButton1" /><label for="RadioButton1">option1</label></span>
    自然就产生了ToolTip的效果。
      

  4.   

    噢,我的问题解决了,你应当单独设置每一个ITEM的TITLE属性。因为TOOLTIP主要是在客户端激活的,所以你应当想办法把每个ITEM的TITLE属性发送到客户端。这是一种解题思路,我就是按照这种思路解决我所遇到的类似的问题的。