2009-09-23 5 views
7

Image.ImageUrlのようなサーバーコントロールはこれを非常に簡単にしますが、IMG htmlコントロールの背後にあるコードで同じことを達成しようとするのは簡単ではありません。コードの背後にあるルート演算子( "〜")アドレスからの相対パス

たとえば、Asp:Imageサーバーコントロールを使用し、ImageUrlプロパティを「〜/ Images/Test.jpg」に設定すると、コードを配置するディレクトリに関係なく正常に動作します(asp.netはチルダディレクトリを相対ディレクトリに変換します)

私はどのようにコードの中で同じことをすることができますか?私はHTMLのIMGコントロールを作成しようとしていますか?

答えて

12

Page.ResolveUrl( "〜/ .....");を使用します。分離コードで

<img id="imgTest" runat="server" /> 

:テンプレートで

5

imgTest.Attributes["src"] = this.ResolveUrl("~/yourimage.gif"); 

これはあなたの問題を解決していますか? asp:imageコントロールを使用していない理由がわかりません...

+0

これはユーザーコントロールの内部でも機能するため、これは良いです –

関連する問題