2011-03-15 57 views
1

我已經創建了一個asp:listbox,並且在cs文件中,我試圖將它綁定到數據源。但是,我想爲每個選項提供工具提示,以便當您將鼠標懸停在多列表框上時,您將在列表框和工具提示中看到該項目的名稱。以編程方式將工具提示放在ListBox類上

下面的代碼是我嘗試過的(顯然不會工作),它只是爲「select」html標籤提供一個大的工具提示,而不是單獨的「option」標籤。

我想我需要一個循環,但我不知道如何給每個元素添加屬性,ASP文檔沒有幫助。我敢打賭這是一個簡單的解決方案,但我無法弄清楚如何去做。

LBRangeOfUsers.DataSource = GetSource(); 
    LBRangeOfUsers.DataValueField = "id"; 
    LBRangeOfUsers.DataTextField = "desc"; 
    LBRangeOfUsers.Attributes.Add("title", "desc"); 
    LBRangeOfUsers.DataBind(); 

我嘗試這樣做:

int i = 0; 
    foreach (ListItem li in LBRangeOfUsers.Items) 
    { 
     LBRangeOfUsers.Items[i].Attributes.Add("title", li.Value); 
     i++; 
    } 

回答

3

它的工作對我來說是這樣的:

LBRangeOfUsers.DataSource = GetSource(); 
LBRangeOfUsers.DataBind(); 

foreach (ListItem item in LBRangeOfUsers.Items) 
    item.Attributes["title"] = item.Value; 

確保循環綁定後運行。

+0

是的,「綁定後」部分確實工作得很好。非常感謝。 – Dexter 2011-03-15 19:48:07

+0

這不適合我。我還能怎樣嘗試? – kevin 2014-06-09 12:54:06

2

您是否嘗試過通過LBRangeOfUsers.Items循環,並增加了對每個ListItem的屬性?

+0

是的,這就是我一直在尋找,但它不工作。我在上面的編輯中加入了我的實驗。 – Dexter 2011-03-15 19:33:06

+0

好吧,當然你必須在你綁定數據之後做到這一點。否則你的清單是空的。 – Kon 2011-03-15 22:05:10

相關問題