2013-04-08 152 views
3

我有一個下拉列表,我想爲下拉列表項目添加工具提示。 我嘗試了下面的代碼,但它不起作用;工具提示下拉列表項目

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

    } 

任何人都可以幫助我嗎?

回答

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

@SandraDsouza它應該工作。你是怎麼嘗試的?你把你的下拉列表作爲參數嗎? – 2013-04-08 06:26:01

+0

非常感謝。有效。非常感謝 – Shanna 2013-04-08 06:27:49

+0

我在發送參數時犯了一個錯誤。再次感謝 – Shanna 2013-04-08 06:28:35

4

嘗試下面的代碼:

foreach (ListItem item in drpID.Items) 
{ 
item.Attributes.Add("Title", item.Text); 
} 
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

1

我知道這個線程關於一個數據綁定控件,但在你實際上很難在aspx頁面編碼的列表項值罕見的情況下,我只加了

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

屬性的列表項標籤本身和它的工作就好了。當然,我收到了一個抱怨,認爲這不是一個有效的屬性,但當頁面呈現時,它出現了,然後它就成爲一個有效的屬性。

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')); 
     } 
    ); 
} 

漂亮是不是方法。但它的工作。

相關問題