C# 单击按钮的事件以在asp.net中启动文件上载控件
我有一个文件上传控制,我已经使它不可见 我想在单击另一个C# 单击按钮的事件以在asp.net中启动文件上载控件,c#,asp.net,button,file-upload,C#,Asp.net,Button,File Upload,我有一个文件上传控制,我已经使它不可见 我想在单击另一个按钮时为该文件上载控件启用浏览按钮 我该怎么做呢?我认为这是不可能的。如果脚本可以上传(或至少触发上传过程)而不受任何用户交互的影响,那么这可能是一个安全问题 更新: 好像真的有人。据我所知,开发和使用JavaScript似乎需要一些努力 就我个人而言,我不敢保证这在所有平台上都有效(想象一下,有人用黑莓或Windows Phone访问你的网站…),并因此避免它。首先制作一个类似的文件加载程序 要上传一个文件,你需要做两件事 1) 选择文
按钮
时为该文件上载控件启用浏览按钮
我该怎么做呢?我认为这是不可能的。如果脚本可以上传(或至少触发上传过程)而不受任何用户交互的影响,那么这可能是一个安全问题
更新: 好像真的有人。据我所知,开发和使用JavaScript似乎需要一些努力
就我个人而言,我不敢保证这在所有平台上都有效(想象一下,有人用黑莓或Windows Phone访问你的网站…),并因此避免它。首先制作一个类似的文件加载程序 要上传一个文件,你需要做两件事 1) 选择文件。(单击浏览按钮) 2) 将其发送到服务器。(单击上载按钮) 因此,首先让我们编写一个java脚本来完成这些任务`
<script type="text/javascript" >
function uploadImage() {
$('#MainContent_UploadButton').click()
}
function selectFile() {
$('#MainContent_FileUploadControl').click();
}
</script>
函数uploadImage(){
$(“#MainContent_UploadButton”)。单击()
}
函数selectFile(){
$('#MainContent_FileUploadControl')。单击();
}
现在,让文件上载控制器在选择文件后立即上载自身
<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;" />
最重要的一点是将“return false”放在onClientClick字段中。它将阻止“发回”按钮,并允许您在不刷新页面的情况下选择文件
现在使用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();");
btnFileUpload.Attributes.Add(“onclick”、“document.getElementById(““+FileUpload1.ClientID+”))。单击();”;
我是否可以在不使用fileupload控件的情况下在按钮单击事件中上载文件?用户通过文件上载控件(`)手动选择文件后,您可以使用JavaScript启动上载。@naveen您指的是“完全不正确”的那一部分?您的链接指向文件上载控件周围的一些ajax包装器。OP想要一种技术来隐藏看起来丑陋的文件上载。很有可能。请注意,自从我也明白了你的观点后,我没有投你反对票……:)如果文件上载控件不可见,用户将如何选择要上载的文件?请在此处获取概述