网上查了很多资料都没有找到给下拉框中的下拉项加入描述,就是如图片中的“alt”,文字中的“title”。
很多人直接说是没有办法解决的问题!最近做个项目发现需要这个功能,四处找资料未果。就只有自己的diy了。
1、经测试,<option value="Select Games" title="Select Games">- Select Games -</option>
这样写在ie7.0以上,以及ff浏览器上都是可以显示出下拉项的描述的。就像图片加上"alt"内容后鼠标移上去3秒就会显示alt中的内容。
2、怎么在给DropDownList这类服务器控件的绑定数据时加入title这个属性了,直接绑定就不能实现这个功能了。 就的换种方式了!我的方式:
cs:
string selectstr = "select * from TB_Game where Fld_Enable = 1 and Fld_SaleEnable =1 order by Fld_OrderBy";
DataSet sds = new DataSet();
sds = MMO.DBUtility.DbHelperSQL.Query(selectstr);
StringBuilder str =new StringBuilder();
str.Append("<select name='FastGold1$GameDDL' id='FastGold1_GameDDL' οnchange='ServerData(this.value)' style='width:125px;'>");
str.Append("<option selected='true'>- Select Games -</option>");
for (int i = 0; i < sds.Tables[0].Rows.Count; i++)
{
try
{
str.Append("<option value=" + sds.Tables[0].Rows[i]["Fld_GameId"].ToString() + " Title='" + sds.Tables[0].Rows[i]["Fld_GameFullName"].ToString() + "' >" + sds.Tables[0].Rows[i]["Fld_GameFullName"].ToString() + "</option>");
}
catch { }
}
str.Append("</select>");
this.GameL.Text = str.ToString();
aspx: <asp:Literal ID="GameL" runat="server"></asp:Literal></TD>
原理很简单,就是直接在后台用Response输出服务器控件在html页面的源代码。在这个过程中加入我们需要的描述内容title=“描述内容”。然后再用Literal控件来输出到指定的位置。必须用Literal控件而不能使用Lable。因为Literal不会对输出的内容加<span>。才能正确显示下拉框以及其中的事件。
----www.shicun108.cn