2009-11-27 16 views
0

我需要擴展DropDownList爲dropDown項目添加toolTip在mouseOver上。擴展DropDown爲項目工具提示,Asp.net,C#

如果(下拉大小比DROPDOWNLIST項目花冤枉錢那麼這將是對看到的項目作爲工具提示有用的)我才知道

對於這一點,我們需要在VS2008創建ServerControl項目,但我不知道如何添加一個屬性,如ItemToolTip

需要在該類中作爲(DataTextField,DataValueField在下拉列表中)工作。

告訴我任何類似於我的要求的ServerControl項目樣本的鏈接。

我嘗試使用下面的代碼,但下拉屬性本身不工作..

命名空間DropDownItemToolTip

{

[DefaultProperty("Text")] 
[ToolboxData("<{0}:ServerControl1 runat=server></{0}:ServerControl1>")] 

public class ServerControl1 : System.Web.UI.WebControls.DropDownList 
{ 

    [Bindable(true)] 
    [Category("Appearance")] 
    [DefaultValue("")] 
    [Localizable(true)] 
    public string Text1 
    { 
     get 
     { 
      String s = (String)ViewState["Text"]; 
      return ((s == null) ? "[" + this.ID + "]" : s); 
     } 

     set 
     { 
      ViewState["Text"] = value; 
     } 
    } 

    protected override void RenderContents(HtmlTextWriter output) 
    { 
     output.Write(Text1); 
    } 

} 

}

給我任何的示例項目的鏈接,這就像做這..

回答

0

爲什麼你想擴大d下拉列表?嘗試添加標題標籤會正常工作嗎?

試試這個代碼

<select> 
    <option title="this is a long text">Long text</option> 
</select> 

它會顯示出這是鼠標懸停長文本提示。

+0

雅的人會工作。 如果我們作爲一個組件,它將是一次性努力, 然後我們可以很容易地使用該屬性。 意思是,雖然我只會在「ItemToolTip」屬性中執行此類功能。 – Vin 2009-11-27 13:28:10

+0

如果您有關於服務器控制的任何鏈接擴展..然後轉發我... thnks您的答覆 – Vin 2009-11-27 13:29:03

+0

檢查此鏈接從MSDN:http://msdn.microsoft.com/en-us/library/ms972970.aspx – Anuraj 2009-11-27 13:53:39

0

試試這個:

using System.Collections; 
using System.ComponentModel; 
using System.Web.UI; 
using System.Web.UI.WebControls; 

namespace Foo 
{ 
    [ToolboxData("<{0}:DDL runat=\"server\" />")] 
    public class DDL : DropDownList 
    { 

     [Category("Data"), DefaultValue("")] 
     public string DataToolTipField 
     { 
      get { return (string)(ViewState["DataToolTipField"] ?? string.Empty); } 
      set { ViewState["DataToolTipField"] = value; } 
     } 

     protected override void PerformDataBinding(IEnumerable dataSource) 
     { 
      base.PerformDataBinding(dataSource); 

      string dataToolTipField = this.DataToolTipField; 

      if (!string.IsNullOrEmpty(dataToolTipField)) 
      { 
       IEnumerator enumerator = dataSource.GetEnumerator(); 
       for (int i = 0; enumerator.MoveNext(); i++) 
       { 
        this.Items[i].Attributes.Add("title", (string)DataBinder.GetPropertyValue(enumerator.Current, dataToolTipField)); 
       } 
      } 
     } 

    } 
}