下拉列表项的工具提示

时间:2013-04-08 06:18:11

标签: c# drop-down-menu tooltip

我有一个下拉列表,我想为下拉列表项添加工具提示。 我尝试使用以下代码,但它不起作用;

    for(int d=0;d<drpID.Items.Count;d++)
    {
        drpID.Items[d].Attributes.Add("title", drpID.Items[d].Value);

    }

有人可以帮我吗?

6 个答案:

答案 0 :(得分:6)

试试这个;

public void Tooltip(ListControl lc)
{
    for (int d = 0; d < lc.Items.Count; d++)
    {
        lc.Items[d].Attributes.Add("title", lc.Items[d].Text);
    }
}

您应该使用.Text属性作为工具提示,而不是.Value

查看此链接:http://www.dotnetspider.com/resources/5099-Tool-tip-for-DropDownList-ASP-NET.aspx

答案 1 :(得分:4)

请尝试以下代码:

foreach (ListItem item in drpID.Items)
{
item.Attributes.Add("Title", item.Text);
}

答案 2 :(得分:2)

你应该试试这个

 protected void ddlDetails_DataBound(object sender, EventArgs e)
{
    DropDownList ddl = sender as DropDownList;
    if(ddl!=null)
  {
    foreach (ListItem li in ddl.Items)
    {
      li.Attributes["title"] = li.Text;
    } 
  }
}

enter image description here

答案 3 :(得分:1)

我知道这个线程是关于数据绑定控件的,但是在不常见的情况下,你实际上已经在aspx页面中硬编码了ListItem值,我只是添加了一个

<asp:ListItem Id="liNumberOne" Runat="server" title="My nifty help text" />

属性为ListItem标签本身,它工作得很好。当然,我得到一个关于不是有效属性的投诉,但是当页面呈现时,它出现了,然后它是一个有效的属性。

答案 4 :(得分:1)

我只需要在以编程方式填充的DropDownList上实现工具提示。我发现title属性被自动设置为Text属性,我无法覆盖它,即使在PreRender也是如此。

这个线程上没有任何建议有效,我最终被迫使用jQuery方法。

创建列表项时,我使用工具提示文本

设置自定义属性
    ListItem item = new ListItem("Name", "Value");
    item.Attributes.Add("tooltip", tooltip);
    ddl.Items.Add(item);

然后使用启动脚本

触发下面的方法
function SetTooltip() {
    jQuery('#<%=ddl.ClientID %> option').each(
        function () {
            jQuery(this).attr('title', jQuery(this).attr('tooltip'));
        }
    );
}

相当不错。但它的确有效。

答案 5 :(得分:0)

        foreach (ToolStripItem item in yourToolStripName.DropDownItems)
        {
            item.ToolTipText = "tool strip item message";
        }