2014-11-04 58 views
-2

我有一個名爲「ddlCountry」的下拉列表,它只能更新另一個名爲「ddlCity」的下拉列表。 我應該如何使用UpdatePanel加載第二個下拉列表,而不是執行完整的回發?因爲我覺得沒有回傳屬性的第一個下拉列表如何使用ASP.Net UpdatePanels避免完整回發?

設定爲「真」我不能得到「的SelectedIndexChanged」事件我tryed這

<li> 
    <label>Grupo Gestor:</label> 
    <asp:DropDownList ID="ddlCountry" runat="server" Width="356px" 
     DataTextField="Country" DataValueField="CodCountry" AutoPostBack="False" 
     OnSelectedIndexChanged="ddlGrupoGestor_SelectedIndexChanged" /> 
</li> 
<li> 
    <label>Gestor:</label> 
    <asp:UpdatePanel ID="upd_ddlGroup1" runat="server" UpdateMode="Conditional"> 
     <ContentTemplate> 
      <asp:DropDownList ID="ddlCity" runat="server" Width="356px" DataTextField="City" DataValueField="CodCity" /> 
     </ContentTemplate> 
     <Triggers> 
      <asp:AsyncPostBackTrigger ControlID="ddlCountry" EventName="SelectedIndexChanged" /> 
     </Triggers> 
    </asp:UpdatePanel> 
</li> 

沒有工作

+0

不,你不能避免頁面生命週期,UpdatePanel的是專門爲導致其在部分回發。此外,在第一個列表中將AutoPostback設置爲false將意味着不會觸發SelectedIndexChanged事件,即無回發。 – sh1rts 2014-11-05 00:33:31

回答

1

在你的場景最好的用法是使用ajax控件工具包的Cascaded DropDownList。

這裏瞭解如何使用它:

Using a Cascaded DropDownList with Database

Cascaded DropDownList using Database in asp.net

+0

謝謝你的男人。我以前從未聽說過這種級聯。用DropDown解決了我的問題。但我認爲仍然不知道UpdatePanel的合理使用hehehe – Mucida 2014-11-04 19:27:48

+1

我們把控件放在更新面板中,我們想更新而不刷新整個頁面(沒有完整的回傳) – 2014-11-05 04:42:12

+0

問題是SelectedIndexChanged在沒有回傳的情況下不工作 – Mucida 2014-11-05 10:52:02