2010-09-17 71 views
0

我有一個顯示文件名的下拉列表,當索引改變時,所選文件被提供下載。我還有一個按鈕,它可以創建新文件...現在,在創建新文件後,新文件名也應顯示在下拉列表中。當我刷新頁面時,它工作正常,但這不是我想要的。ASP.NET - 重新加載下拉菜單?

我試圖把下拉列表放在一個updatepanel中,並給它創建文件的按鈕ID,它失敗了......這是正確的apporach還是有更簡單的方法?

謝謝!


我只是不能得到它的工作,這是我的代碼:

<asp:UpdatePanel ID="UP_ExportInvoices" runat="server" UpdateMode="Always"> 
    <ContentTemplate> 
     <asp:DropDownList ID="DDL_ExportFileDownLoad" runat="server" AutoPostBack="true" 
         OnSelectedIndexChanged="DDL_ExportFileDownLoad_SelectedIndexChanged"> 
     </asp:DropDownList> 
    </ContentTemplate> 
</asp:UpdatePanel> 

我在想,如果將UpdateMode設置爲始終,該內容隨時更新?我也有那個按鈕(asp:ImageButton),它位於此UpdatePanel之外。我試着添加一個觸發器fpr那個按鈕,但它沒有工作。我在做什麼錯了。到目前爲止,即時通訊只會導致異常或下拉列表不會更新。

謝謝:)

+0

向我們展示代碼... – 2010-09-17 09:33:22

+0

創建文件的按鈕是否也放置在UpdatePanel中? – 2010-09-17 09:33:36

+0

不,它放置在外面... – grady 2010-09-17 09:39:00

回答

0

如果要創建在同一個頁面的文件,然後只是追加文件名下拉。你可以在你的應用程序中做這個技巧嗎?

0

你是否將帖子按回頁面?如果是,則需要在按鈕單擊處理程序中創建文件後再次重新綁定下拉列表。

如果按鈕將部分回傳(也就是說放置在UpdatePanel中)到服務器上,那麼上面的內容仍然適用,但下拉應該也在UpdatePanel中。

+0

重新綁定不起作用,它會將其添加到下拉列表中,但是,該項目不會顯示,直到頁面刷新發生。 – grady 2010-09-17 09:40:14

+0

如何將按鈕和下拉菜單放在同一個UpdatePanel中?如果你的按鈕在外面,那麼它會做正常的回傳或部分回傳? – VinayC 2010-09-17 10:01:03

0

您需要確保Button是更新面板的觸發器,或者是其中的一個子項。

這裏是一個充分的解釋:

http://www.asp.net/ajax/tutorials/understanding-asp-net-ajax-updatepanel-triggers

+0

我試過了,但是我收到了以下消息:**通過RegisterAsyncPostBackControl或RegisterPostBackControl註冊的ID爲'...'的控件必須實現INamingContainer,IPostBackDataHandler或IPostBackEventHandler ** 按鈕有什麼問題?它是一個普通的LinkBut​​ton – grady 2010-09-17 09:42:51

0

你需要放置在UpdatePanel中的按鈕。這將導致部分回發,並且下拉列表應該重新綁定,顯示新項目。或者,您可以在頁面中添加JavaScript,將新項目添加到客戶端的下拉列表中,但這有時會導致ASP的自動事件驗證出現問題。