给DropDownList添加ToolTip(title)属性

刚才一位网友在SKYPE问及,如何给asp.net的DropDownList控件添加ToolTip(title)属性。
Insus.NET回复他说,同这样的问题,在google或baidu应该很多。他却回答说,一不想使用Javascript,二真正的是想看看你的解决方法。

下面是Insus.NET实现的效果:

 

实现过程,只是为DropDownList控件写OnDataBound事件,

DropDownList1_DataBound
 protected void DropDownList1_DataBound(object sender, EventArgs e)
    {
        DropDownList ddl = (DropDownList)sender;

        for (int i = 0; i < ddl.Items.Count; i++)
        {
            //当然你可以在这里为每个item写上其它的显示的内容。
            ddl.Items[i].Attributes.Add("title", ddl.Items[i].Text);  
        }
    }

 

完整的程序,xxx.aspx:

View Code
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
       <asp:DropDownList ID="DropDownList1" runat="server" OnDataBound="DropDownList1_DataBound">
        </asp:DropDownList>
    </div>
    </form>
</body>
</html>

 

xxx.aspx.cs:

View Code
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            Data_Binding();
        }
    }

    private void Data_Binding()
    {
        DropDownList1.DataSource = Datas();
        DropDownList1.DataTextField = "value";
        DropDownList1.DataValueField = "key";
        DropDownList1.DataBind();
    }   

    protected void DropDownList1_DataBound(object sender, EventArgs e)
    {
        DropDownList ddl = (DropDownList)sender;

        for (int i = 0; i < ddl.Items.Count; i++)
        {
            //当然你可以在这里为每个item写上其实的显示的内容。
            ddl.Items[i].Attributes.Add("title", ddl.Items[i].Text);  
        }
    }

    private Dictionary<intstring> Datas()
    {
        Dictionary<intstring> Dd = new Dictionary<intstring>();
        Dd.Add(1"米饭");
        Dd.Add(3"紫菜汤");
        Dd.Add(4"菜心");
        Dd.Add(5"肉片");
        return Dd;
    }
}

 

posted @ 2011-12-07 13:08  Insus.NET  阅读(1005)  评论(4编辑  收藏  举报