【问题标题】:How to upload a file using asp.net without posting the whole page back?如何使用 asp.net 上传文件而不发回整个页面?
【发布时间】:2010-10-30 01:50:15
【问题描述】:

我想使用 asp.net 上传文件,所以我不想在上传时回发页面。我该怎么做?有没有办法使用 Ajax 来做到这一点。

【问题讨论】:

    标签: asp.net ajax file-upload


    【解决方案1】:

    使文件上传表单以隐藏的 iframe 为目标。

    <iframe name="UploadTarget" style="display:none"></iframe>
    <form target="UploadTarget" action="postfile" method="post" enctype="multipart/form-data">
    <input type="file" name="MyFile">
    <input type="submit" name="submit" value="Send me a file">
    </form>
    

    最后一个技巧是添加到您的响应页面:

    <script type="text/javascript">parent.somecallbackfunction("Here is some data")</script>
    

    让您的父页面(包含隐藏 iframe 的页面)知道文件上传已完成。

    【讨论】:

      【解决方案2】:

      iframe 可以放置在您的页面上,并且可以包含输入元素 type=file。您可以通过 javascript 操作和提交 iframe 表单。您可以通过将其 CSS 样式设置为 display:none 来隐藏 iframe。这通常被称为隐藏 iframe 方法。

      【讨论】:

        【解决方案3】:

        使用像SWFUpload 这样经过验证的东西,并节省编写自己的客户端代码的时间。

        【讨论】:

        • 警告词:由于某种原因,SWFUpload 在我的公司代理后面不起作用。 swfupload.org/forum/generaldiscussion/349
        • 请记住 +1。无论如何,您应该始终拥有非闪存备份(标准 HTML 表单 POST)IMO
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-03-09
        • 2010-11-26
        • 1970-01-01
        • 1970-01-01
        • 2011-08-22
        • 1970-01-01
        • 2011-05-12
        相关资源
        最近更新 更多