ASP.NET - 重新下载一个下拉列表?

时间:2010-09-17 09:31:13

标签: asp.net drop-down-menu 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之外。我尝试添加一个Trigger fpr那个按钮,但它没有用。我做错了什么到目前为止,我只有两个例外或下拉列表没有更新。

谢谢:)

4 个答案:

答案 0 :(得分:0)

如果您在同一页面中创建文件,则只需将文件名附加到下拉列表中。你能在申请中做到这一点吗?

答案 1 :(得分:0)

你是否按钮回帖了?如果是,则需要在按钮单击处理程序中创建文件后再次重新绑定下拉列表。

如果按钮对服务器进行部分回发(比如说它放在UpdatePanel中),那么上面的内容仍然适用,但下拉列表也应该在UpdatePanel中。

答案 2 :(得分:0)

您需要确保Button是更新面板的触发器,或者是其中的子项。

以下是完整的解释:

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

答案 3 :(得分:0)

您需要将按钮放在UpdatePanel中。这将导致部分回发,并且下拉列表应重新绑定,显示新项目。或者,您可以在页面中包含JavaScript,将新项目添加到客户端的下拉列表中,但这有时会导致ASP自动事件验证出现问题。