我有一个显示文件名的下拉列表,当索引更改时,提供下载的选定文件。我还有一个创建新文件的按钮......现在,在创建新文件后,新文件名也应显示在下拉列表中。当我刷新页面时它工作正常,但这不是我想要的。
我尝试将下拉列表放在更新面板中并为其提供文件创建按钮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那个按钮,但它没有用。我做错了什么到目前为止,我只有两个例外或下拉列表没有更新。
谢谢:)
答案 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自动事件验证出现问题。