繁体   English   中英

按钮的click事件触发asp.net中的fileupload控件

[英]click event of a button to fire fileupload control in asp.net

我有一个文件上传控件,并且使它不可见。

我想启用的浏览Button ,当我点击另一个有文件上传控制Button

我该怎么做?

首先像这样制作一个文件加载器

要上传文件,您需要做2件事

1)选择文件。 (单击浏览按钮)

2)将其发送到服务器。 (点击上传按钮)

因此,首先让我们编写一个Java脚本来完成这些操作。

<script type="text/javascript" > 
function uploadImage() {
    $('#MainContent_UploadButton').click()
}
function selectFile() {
    $('#MainContent_FileUploadControl').click();
}
</script>

现在,使文件上传控制器在选择文件后立即自行上传

 <asp:FileUpload id="MainContent_FileUploadControl" runat="server" 
            onChange="uploadImage()" class="hidden"/>

然后创建一个新按钮,让它在单击文件后立即选择文件。

    <asp:Button ID="MainContent_UploadButton" runat="server" Text="Upload File" 
            OnClientClick="selectFile(); return false;" />

最重要的一点是在onClientClick字段中输入“ return false”。 它将阻止按钮回发,并让您选择文件而无需刷新页面。

现在,使用CSS隐藏不需要的组件,您就完成了!

<asp:FileUpload ID="FileUpload1" runat="server" style="display:none;"/>
<input id="btnFileUpload" type="button" value="Add" runat="server" />

btnFileUpload.Attributes.Add("onclick", "document.getElementById('" + FileUpload1.ClientID + "').click();");

我认为这是不可能的。 如果脚本可以上载(或至少触发上载过程)对任何用户交互都不可见,则这可能是一个安全问题。


更新:

似乎有人实际上开发了隐藏上传控件的解决方案 从我阅读的内容来看,似乎需要花费一些精力来开发和使用JavaScript。

就我个人而言,我不敢保证在所有平台上都可以正常工作(想象一下拥有BlackBerry或Windows Phone的人访问了您的网站...)从而避免了它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM