Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/311.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 单击按钮的事件以在asp.net中启动文件上载控件_C#_Asp.net_Button_File Upload - Fatal编程技术网

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想要一种技术来隐藏看起来丑陋的文件上载。很有可能。请注意,自从我也明白了你的观点后,我没有投你反对票……:)如果文件上载控件不可见,用户将如何选择要上载的文件?请在此处获取概述