2011-04-04 62 views
0

我的用戶控件中有一個下拉列表。它的行爲很奇怪:SelectedIndexChanged事件處理程序在具有Selected =「True」屬性的項目被選中時不會被調用。即當頁面加載時,一切都很好。然後我選擇其他一些下拉列表元素,它也可以正常工作。但是當我之後回到默認選擇的項目時,事件處理程序不會被執行。此下拉列表用作updatepanel的觸發器。如果我將它從觸發器中刪除,它可以正常工作。但我需要它來更新UpdatePanel。它怎麼能被修復?作爲UpdatePanel觸發器的下拉列表存在問題

謝謝。

<asp:DropDownList ID="ddlFilter" runat="server" AutoPostBack="True" 
            Height="20px" Width="200px" 
            CausesValidation="True" onselectedindexchanged="ddlFilter_SelectedIndexChanged"> 
              <asp:ListItem Text="All" Value="-2" Selected="True" /> 
              <asp:ListItem Text="My Titles" Value="-1" /> 
              <asp:ListItem Text="Cancelled Titles" Value="0" /> 
              <asp:ListItem Text="On Offer" Value="1" /> 
              <asp:ListItem Text="For Consideration" Value="2" /> 
              <asp:ListItem Text="Make Offer" Value="3" /> 
              <asp:ListItem Text="On Hold" Value="4" /> 
              <asp:ListItem Text="Researching" Value="5" /> 
              <asp:ListItem Text="Titles from Existing Authors" Value="6" /> 
          </asp:DropDownList> 

在後面的代碼:

protected void ddlFilter_SelectedIndexChanged(object sender, EventArgs e) 
{ 

... }

+0

你應該添加你的UpdatePanel的aspx標記。 – 2011-04-04 21:31:01

+0

哪裏是更新面板的標記?我們能否看到它 – 2011-07-07 18:09:44

回答

0

我不知道你的頁面結構,所以我不知道爲什麼它設置爲不觸發不行,但你可以撥打

UpdatePanel1.Update() 

手動從ddlFilter_SelectedIndexChanged刷新UpdatePanel。

+0

非常感謝您的回答。其實,我嘗試過,但它沒有改變任何東西。 ddlFilter_SelectedIndexChanged()僅在初始元素被選中時才執行。 – dpreznik 2011-04-05 12:03:44