当前位置:  开发笔记 > 编程语言 > 正文

在更新面板内自动将文件上载到服务器第一次不起作用

如何解决《在更新面板内自动将文件上载到服务器第一次不起作用》经验,为你挑选了0个好方法。

要求

我正在尝试上传文件,只要用户选择它.我必须满足以下要求:

    该按钮看起来像应用程序中的其他按钮.

    用户选择文件后立即上传文件.

    我需要它在UpdatePanel中,因为我必须对页面进行条件更新.我CAN做的文件中选择(又名完全回发onchange)事件.

目前的代码

以下是我的视图文件的外观:


    

    
<%-- onchange="Javascript:this.form.submit();" /> --%> <%-- --%>

相关的Javascript:


代码背后:

protected void btnUpload_Click(object sender, EventArgs e)
{
    // PostedFile is null first time code gets here on user selecting a file
    if (fileImport.PostedFile != null)
    {
        if (fileImport.PostedFile.FileName.Length > 0)
        {
            ImportFromFile();
        }
    }
}

说明/流量

    用户点击btnFileImportSkin按钮.

    onImport调用该函数,以编程方式单击该fileimport按钮.

    用户选择一个文件,然后按"打开".

    onFileSelected 叫做.

    onUpload 被称为成功.

    btnUpload_Click 每次都成功调用.

但是问题是,

用户第一次选择文件时,fileImport.PostedFile为null.一切都很好,第二次,从那里开始.

有关

这个问题与我的问题密切相关,但OP可能需要像Gmail一样的Async上传解决方案.我已经尝试过如下问题的答案:

    OnClientClick事件中的__doPostBack() btnUpload

    this.form.submit()我的FileUpload控件的onchange事件.

    FileUpload在Page_PreRender中设置控件的onchange属性

补充说明

    当我没有更新面板时,这件事情完美无缺.我直接在onchange FileUpload控件事件中执行this.form.submit().

    目标框架是.NET 4.0

注意:在FileUpload上面的控件中添加了Visible ="false" .这是问题,但在提出问题时我忽略了它.

推荐阅读
wangtao
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有