C# FileUpload.IsInFileUploadPostBack时丢失下拉列表值
我在做一个网络项目。我有一个下拉列表,我需要使用asp:AjaxFileUpload上传文件所选的值 问题:上载文件时,下拉值将丢失,所选值将为空。我不想使用会话变量,因为如果我用不同的下拉列表在两个选项卡中打开同一页。selectedvalue,则另一页可能会使用错误的会话变量。请帮助我找到另一种获取下拉列表的方法。上传文件时,请选择此值C# FileUpload.IsInFileUploadPostBack时丢失下拉列表值,c#,C#,我在做一个网络项目。我有一个下拉列表,我需要使用asp:AjaxFileUpload上传文件所选的值 问题:上载文件时,下拉值将丢失,所选值将为空。我不想使用会话变量,因为如果我用不同的下拉列表在两个选项卡中打开同一页。selectedvalue,则另一页可能会使用错误的会话变量。请帮助我找到另一种获取下拉列表的方法。上传文件时,请选择此值 非常感谢您的帮助这是因为您的页面每次都会发回 设置AutoPostBack='false'并在填充和处理下拉框时使用Page.IsPostback属性 Is
非常感谢您的帮助这是因为您的页面每次都会发回 设置
AutoPostBack='false'
并在填充和处理下拉框时使用Page.IsPostback
属性
IsPostBack的MSDN:
希望对您有所帮助。您可以使用更新面板,在其中放置您的下拉列表、文件上载控件等。。 在
页面的代码隐藏中加载检查以下条件并绑定数据
if (!IsPostBack && !IsCallback && !AjaxFileUpload1.IsInFileUploadPostBack) // Need to prevent normal stuff on ajaxFileUpload PostBack
{
// bind drop down , gridview etc..
}
试试这个
将DropDownList包含在asp UpdatePanel中,如下所示:
<asp:UpdatePanel id="someid" runat="server>
<ContentTemplate>
<asp:DropDownList ID="yourdropdownlist" runat="server"></asp:DropDownList>
</ContentTemplate>
</UpdatePanel>
非常感谢您的回复。。这是我的pageload代码的一部分,如果(!Page.IsPostBack&&!fileAttach.IsInFileUploadPostBack){PopulatedDropDown}否则//系统在上传{//dropdown.items.count=0;//我如何将值绑定到dropdown而不丢失以前选择的值}时会转到这里。在这种情况下,您必须实现编程逻辑,您必须在一个变量中获取选定的值,然后填充这些值,然后再次从列表框中选择该值。谢谢您,Rohit,我的所有控件都在更新面板中,我还尝试在更新面板外使用hiddenfield,只是为了检查上传时该值是否不会受到影响,但仍然存在同样的问题,请尝试将所选值存储在静态字符串变量中。PS:文件上传器应该放在更新面板之外。