2012-02-08 58 views
3

私のASP.NETページでは、 "FileUpload"コントロールを使用しています。 すべてが実装され、期待どおりに動作していますが... "FileUpload"の一部であるTextBoxコントロールは必要ありません。 (FileUpload = TextBox + Button)FileUploadコントロールの「TextBox」を非表示にするにはどうすればよいですか?

TextBoxのみを削除/非表示にし、ButtonをLinkBut​​tonのように見せることは可能でしょうか?

ありがとうございました

+0

制御アダプターを使用しようとしましたか?ここでは、CSSの巧妙さなしに、あなたのために仕事をする簡単なサンプルコードです:) [http://blog.mathiaskunto.com/2012/01/28/keeping-your-hair-from-turning-gray-or -how-to-style-the-aspfileupload-control-using-control-adaptapters /](http://blog.mathiaskunto.com/2012/01/28/keeping-your-hair-from-turning-gray-or) -how-to-style-the-aspfileupload-control-using-control-adaptapters /) –

答えて

1

本当にありません。 fileUploadコントロールは、セキュリティのためにページからサンドボックス化されているため、スタイル可能ではありません。 HTML5を使用すると、独自のファイルアップロードを行うことも、代わりにFlashを使用することもできます。そうしないと、ブラウザが提供する内容に固執します。

0

それはできますが、それは厄介です。基本的にコントロールを見えないようにするためのjavascriptとCSSの巧妙さと、その背後にバックグラウンドで画像を配置することが含まれます。

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

ボタンは83個のピクセルで、テキストボックスの残りの部分である:

See this answer from a couple years back.

3

実は、あなたはこのトリックを使用することができます。コントロールの幅を83ピクセルにすると、ボタンが表示され、テキストボックスは表示されません。

+1

これは動作しますが、ややハッキーで、CSSやブラウザ間の問題が発生しがちです。 – Mani5556

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

これは確実に機能します。私は私のproject.It dosentでそれを試して、javascriptやCSSが必要です。

+1

ここにはasp.NETはありません...その隣に素敵です –

3

HTML5のAsp.Netでは、この問題を解決するためにdocument.getElementById( '<%= ServerControlID.ClientID%>')を使用できます。

私の作業コードが

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 & Chromeで動作します。

+0

IMHOこれは非常に良い答えです –

+0

@Ferhatこの回答を受け入れてください? –

+0

私のJSの無知を許してください。これらの行をコピーしてコードに貼り付け、FileUploadコントロールを置き換えました。しかし、私がコードビハインドに着くと、FileUpload1にはPostedFileがありません。 – Jeremy

関連する問題