2010-10-22 52 views
0

asp.net下拉列表提示(標題)我添加了一個使用下面的代碼隱藏 「工具提示」 我的下拉列表奇怪的行爲

 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

我還沒有解決這個問題,所以任何幫助表示讚賞! 有人提到了使用AJAX UpdatePanel,但到目前爲止這還沒有奏效。 – Nathan 2010-10-25 13:44:13

+0

它在我的Chrome和IE9測試版上運行得非常好。 – bla 2010-10-26 01:43:53

回答

0

對不起李SY恩,我應該說,我使用IE8。

我通過在代碼隱藏中設置數據源而不是在aspx代碼中解決了這個問題。我仍然想知道爲什麼它不以這種方式工作,儘管如果任何人都可以從中發現一些亮點,只是出於好奇!

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"); 

     } 
    } 
相關問題