![](/img/trans.png)
[英]In ASP.Net C#, on button click event I find the FileUpload Control within DataList and It gives error?
[英]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.