【问题标题】:Calling an ASP.NET FileUpload function in code behind with jquery使用 jquery 在代码中调用 ASP.NET FileUpload 函数
【发布时间】:2014-11-13 21:07:37
【问题描述】:

我正在使用 ASP.NET FileUpload 控件。

要上传文件,用户必须:

  1. 浏览以从他/她的设备中选择一个文件,
  2. 点击上传按钮将文件上传到服务器。

选择文件后,是否可以跳过第 2 步(上传按钮)并通过 jquery(回发)调用服务器上的“uploadFile_Click”函数?我正在尝试以下方法,但我需要一些帮助来完成它。

ASPX 页面

<asp:FileUpload runat="server" ID="UploadImages" />
<asp:CustomValidator ID="CustomValidator1" runat="server" ControlToValidate="UploadImages" ClientValidationFunction="ValidateUpload" />

代码隐藏

protected void uploadFile_Click(object sender, EventArgs e)
{
// Upload code
}

JQUERY

function ValidateUpload() {
var FileUpload_function = document.getElementById('UploadImages');

        if (FileUpload_function.value == '') {
            return false;
        }
        else {

           ** Here I want to trigger a postback to call the uploadFile_Click. Is that possible? **
        }
        return true;

    }

【问题讨论】:

  • 所以我的方法有死胡同...?
  • 通常,当您想要做的不仅仅是基本的选择文件并单击上传之外,您必须推出自己的解决方案。您可以尝试一些预制的解决方案,其中大部分依赖 ajax 调用来处理上传,并具有可视化上传进度、拖放等功能。

标签: c# jquery asp.net file-upload


【解决方案1】:

如果input HTML 元素的类型为file(即asp:fileupload 控件),某些(大多数?)浏览器将不允许您调用该元素的click 事件。这被认为是一种安全风险。

【讨论】:

  • 即使它确实有效,它也不会在发布表单时包含文件数据。同样的原因。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-02-16
  • 2011-12-21
  • 2011-01-20
  • 1970-01-01
相关资源
最近更新 更多