如何隐藏FileUpload控件的“TextBox”?

时间:2012-02-08 17:35:58

标签: asp.net button file-upload textbox hide

在我的ASP.NET页面中,我正在使用“FileUpload”控件。 整个过程已经实现并且按预期工作但是...... 我不希望TextBox控件是“FileUpload”的一部分。 (FileUpload = TextBox + Button)

我是否可以删除/隐藏TextBox并让Button看起来像LinkBut​​ton?

由于

5 个答案:

答案 0 :(得分:10)

<input type="file" id="selectedFile" style="display: none;" />
<input type="button" value="Browse..." onclick="document.getElementById('selectedFile').click();" />

这肯定有用。我在我的项目中尝试过它。它需要javascript或CSS。

答案 1 :(得分:3)

实际上,你可以使用这个技巧:

FileUpload fileUpload = new FileUpload();
fileUpload.Width = Unit.Pixel(83);

按钮为83像素,文本框为其余部分。如果强制控件的宽度为83像素,则会显示按钮,文本框不会显示。

答案 2 :(得分:3)

对于使用HTML5的Asp.Net,您可以使用document.getElementById(&#39;&lt;%= ServerControlID.ClientID%&gt;&#39;)来解决此问题。

我的工作代码

<强> HTML5

 <asp:FileUpload ID="FileUpload1" runat="server" Style="display: none;" />
 <input type="button" value="Browse" onclick="showBrowseDialog()"/>

Javascript

function showBrowseDialog() {
    var fileuploadctrl = document.getElementById('<%=FileUpload1.ClientID%>');
    fileuploadctrl.click();
}

适用于Firefox,IE和&amp;铬。

答案 3 :(得分:1)

不是真的。 fileUpload控件不具有样式,因为它是从页面沙箱化以确保安全性。使用HTML5,您可以自己上传文件,也可以使用闪存,但除此之外,您仍然无法使用浏览器为您提供的内容。

答案 4 :(得分:0)

可以做到,但它很讨厌。它涉及一些javascript和CSS聪明,基本上使控件不可见,将图像放在它后面的背景中。

See this answer from a couple years back.

相关问题