从Button控件

时间:2017-09-25 13:13:15

标签: asp.net file-upload

我有一个网页,其中包含一个ASP.NET文件上传控件和一个将文件上传到服务器的按钮。现有代码如下所示。



<div runat="server" style="width: 110%">
  <asp:FileUpload ID="fileUpload" runat="server" />
  <asp:Button ID="BtnFileUpload" runat="server"           OnClick="BtnFileUpload_Click" Text="Upload" />               
</div>
&#13;
&#13;
&#13;

但我们的客户并不希望看到标准文件上传控件的默认外观。他希望我们添加另一个按钮并使用按钮包装文件上传控件,这样每当用户点击按钮时,文件上传对话框窗口就会打开。

由于

2 个答案:

答案 0 :(得分:1)

你可以使用jquery做到这一点你可以将fileupload visiblity设置为none并且可以从按钮点击打开fileuploader

<div runat="server" style="width: 110%">
    <asp:FileUpload style="display:none" ID="fileUpload" runat="server" />
    <asp:Button ID="BtnFileUpload" runat="server" onclick="$('#fileUpload').trigger('click'); return false;" OnClick="BtnFileUpload_Click" Text="Upload" />
</div>

你需要为此引用jquery。

答案 1 :(得分:0)

除了@Kevin Shah的解决方案之外,我还是以这种方式工作:

<asp:FileUpload ID="FileUpload1" runat="server" />
<asp:Button ID="BtnFileUpload" runat="server" OnClientClick="$('#ContentPlaceHolder1_FileUpload1').trigger('click'); return false;" Text="Upload" />

我的网络表单位于MasterPage中,因此我必须在Chrome中调试时查看“查看源代码”以获取正确的元素ID ContentPlaceHolder1_FileUpload1,而不仅仅是FileUpload1