在我的ASP.NET页面中,我正在使用“FileUpload”控件。 整个过程已经实现并且按预期工作但是...... 我不希望TextBox控件是“FileUpload”的一部分。 (FileUpload = TextBox + Button)
我是否可以删除/隐藏TextBox并让Button看起来像LinkButton?
由于
答案 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聪明,基本上使控件不可见,将图像放在它后面的背景中。