Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.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
Asp.net 我怎样才能隐藏“我”呢;文本框“;文件上传控件的名称?_Asp.net_Button_File Upload_Textbox_Hide - Fatal编程技术网

Asp.net 我怎样才能隐藏“我”呢;文本框“;文件上传控件的名称?

Asp.net 我怎样才能隐藏“我”呢;文本框“;文件上传控件的名称?,asp.net,button,file-upload,textbox,hide,Asp.net,Button,File Upload,Textbox,Hide,在我的ASP.NET页面中,我正在使用“FileUpload”控件。 整个项目已经实施,并按预期运行,但。。。 我不想要文本框控件,它是“文件上传”的一部分。(文件上传=文本框+按钮) 我是否可以只删除/隐藏文本框,让按钮看起来像链接按钮 谢谢不太感谢。fileUpload控件不支持样式,因为出于安全考虑,它是从页面中沙盒化的。有了HTML5,你可以自己上传文件,也可以选择使用flash,但除此之外,你只能使用浏览器提供的内容。这是可以做到的,但很糟糕。它涉及一些javascript和CSS技巧

在我的ASP.NET页面中,我正在使用“FileUpload”控件。 整个项目已经实施,并按预期运行,但。。。 我不想要文本框控件,它是“文件上传”的一部分。(文件上传=文本框+按钮)

我是否可以只删除/隐藏文本框,让按钮看起来像链接按钮


谢谢

不太感谢。fileUpload控件不支持样式,因为出于安全考虑,它是从页面中沙盒化的。有了HTML5,你可以自己上传文件,也可以选择使用flash,但除此之外,你只能使用浏览器提供的内容。

这是可以做到的,但很糟糕。它涉及一些javascript和CSS技巧,基本上使控件不可见,将一个图像放在它后面的背景中


实际上,您可以使用以下技巧:

FileUpload fileUpload = new FileUpload();
fileUpload.Width = Unit.Pixel(83);
按钮为83像素,文本框为其余部分。如果强制控件宽度为83像素,则会显示按钮,而文本框不会显示。


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

这肯定会奏效。我在我的项目中尝试过它。它不需要javascript或CSS。

对于使用HTML5的Asp.Net,您可以使用document.getElementById(“”)来解决此问题

我的工作代码

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();
}
函数showBrowseDialog(){
var fileuploadctrl=document.getElementById(“”);
fileuploadctrl.click();
}

适用于Firefox、IE和Chrome。

您尝试过使用控制适配器吗?下面是一个简单的示例代码,它将为您完成这项工作,但没有CSS的巧妙之处:)虽然这项工作可行,但它有点黑客行为,并且容易出现CSS和\或跨浏览器问题。这里没有asp.NET。。。除此之外,请原谅我的无知。我将这些行复制并粘贴到代码中,并替换了FileUpload控件。但是当我进入我的codebehind和FileUpload1没有PostedFile时。