刚才一位网友在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);
}
}
{
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 >
<! 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< int, string> Datas()
{
Dictionary< int, string> Dd = new Dictionary< int, string>();
Dd.Add( 1, " 米饭 ");
Dd.Add( 3, " 紫菜汤 ");
Dd.Add( 4, " 菜心 ");
Dd.Add( 5, " 肉片 ");
return Dd;
}
}
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< int, string> Datas()
{
Dictionary< int, string> Dd = new Dictionary< int, string>();
Dd.Add( 1, " 米饭 ");
Dd.Add( 3, " 紫菜汤 ");
Dd.Add( 4, " 菜心 ");
Dd.Add( 5, " 肉片 ");
return Dd;
}
}