2009-04-25 10 views
4

私はasp:ImageButtonサーバーコントロールを使用しています。私はCssClass属性を私のCSSスタイルに設定しました。border:solid 1px red;ASP.NET input type = 'image'コントロールから 'style'属性を削除するには?

style="border-width:0px;" 

Q1を次のように

.NET 自動的はインライン 'スタイル' 属性をレンダリングします。自動インライン 'スタイル'を削除できますか?例えばPreRenderでHTMLを調べて編集するのでしょうか? 私はAttributes.Remove( "style")を試しましたが、これはうまくいかず(どちらかといえば間違いなく)、私は手動で追加した属性のみを削除することができます。

私の回避策は、aspxページにBorderWidth = 1pxプロパティを割り当てることでしたが、CssClassプロパティを指定するのはどういうわけか(自動的に!)バグまたは機能ですか?

答えて

3

のデフォルトのレンダリングを「修正」するasp.netで多くを行う彼らはこれを行う理由は、それらの画像のデフォルトは境界を持っているHTMLの遺産によるものですそれらをラップする<a>タグがあります。ほとんどの状況で、人々はこれらの境界線を望んでいないため、ASP.NETが何をしているのですか。

.redborderbutton img 
{ 
    border:solid 1px red !important; 
} 
0

postレンダリングすると、JQueryで削除できます。

$(document).ready(function() { $("img").removeAttr('style'); } 

"img"をCSSスタイルセレクタに置き換えます。ただし、引用符はそのまま使用してください。

実は、私はこれにasp.net

1

あなたがHTMLサーバーコントロールを使用することができます。これを回避するためには、あなたは(あなたがcssclass='redborderbutton'を設定していると仮定して)自分のスタイルシートに次の操作を行うことができます。

<input id="Image1" runat="server" name="ImageButton1" src="images\image.jpg" type="image" /> 
+0

これは私が書いていたものに十分に近いものでした... – jrcs3

0

ASPは今までにないタグの中で最もハッキリです。国境が「遺産」であっても、それはCSSで扱うことができます。

関連する問題