2010-09-17 53 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的自动事件验证出现问题。