我使用以下代码隐藏在我的下拉列表中添加了“工具提示”:
protected void btnAdd_Click(object sender, EventArgs e)
{
load_Buttons(1);
tblAddCandidate.Visible = true;
txtAdd_RegDate.Text = DateTime.Today.ToShortDateString();
foreach (ListItem _listItem in this.ddlAssTutAdd.Items)
{
_listItem.Attributes.Add("title", _listItem.Text);
}
ddlAssTutAdd.Attributes.Add("onmouseover", "this.title=this.options[this.selectedIndex].title");
ddlAssTutAdd.SelectedIndex = -1; ddlCentresAdd.SelectedIndex = -1; rblAdd_Gender.SelectedIndex = -1;
txtAdd_CandNo.Text = ""; txtAdd_DOB.Text = ""; txtAdd_Ethnicity.Text = ""; txtAdd_Forename.Text = "";
txtAdd_Initials.Text = ""; txtAdd_LRS.Text = ""; txtAdd_Notes.Text = ""; txtAdd_RegDate.Text = "";
txtAdd_Surname.Text = "";
txtAdd_CandNo.Focus();
}
(下面的aspx代码)
<asp:DropDownList ID="ddlAssTutAdd" TabIndex="9" runat="server" DataSourceID="SqlDataSource_TutAss"
DataTextField="StaffName" DataValueField="StaffID" Width="300px"
AppendDataBoundItems="true" >
<asp:ListItem Value="0" Text="Please Select..." />
</asp:DropDownList>
<asp:SqlDataSource ID="SqlDataSource_TutAss" runat="server"
ConnectionString="<%$ ConnectionStrings:CenCoordConStr %>"
SelectCommand="SELECT Staff.StaffID + ' : ' + Staff.StaffFirstname + ' ' + Staff.StaffSurname AS StaffName, Staff.StaffID FROM Staff INNER JOIN Assessors ON Staff.StaffID = Assessors.StaffID">
</asp:SqlDataSource>
然而,只有在您第二次单击“添加”按钮时它才有效。单击它一次加载工具提示“请选择...”但是当将鼠标悬停在下拉列表中的任何项目时,它会显示此工具提示。选择项目后,工具提示将不再起作用。 如果再次单击“添加”按钮,则一切正常!
有人有想法吗?
谢谢, 森
答案 0 :(得分:1)
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
DropDownList1.Items[0].Attributes.Add("Title", "Punjab Pollution Control Board");
DropDownList1.Items[1].Attributes.Add("Title", "Hello");
}
}
答案 1 :(得分:0)
对不起Lee Sy En,我应该说我使用的是IE8。
我通过在代码隐藏中设置数据源而不是在aspx代码中解决了这个问题。我仍然想知道为什么它不能以这种方式工作,但是如果有人能够对它有所了解,只是出于好奇!