アセンブリに埋め込まれた CSS ファイルがあります。この CSS ファイルを使用して特定の要素の背景画像を設定する必要があり、その画像も埋め込みリソースである必要があります。これは可能ですか?これを確実に行う方法はありますか?
この dll に既存のスタイルシートを配置したときに問題が発生し、画像が表示されないことに気付きました。埋め込み画像の URL を知る必要があるため、機能させる方法はわかりません。
誰かがこのようなことをしましたか?
アセンブリに埋め込まれた CSS ファイルがあります。この CSS ファイルを使用して特定の要素の背景画像を設定する必要があり、その画像も埋め込みリソースである必要があります。これは可能ですか?これを確実に行う方法はありますか?
この dll に既存のスタイルシートを配置したときに問題が発生し、画像が表示されないことに気付きました。埋め込み画像の URL を知る必要があるため、機能させる方法はわかりません。
誰かがこのようなことをしましたか?
<% = WebResource("image1.jpg") %>
CSS ファイル内で上記のステートメントを使用できます。CSS を WebResourceAttribute に登録するときに、「PerformSubstitution」を true に設定できます。
Default.css
body{
background: <%=WebResource("xyz.jpg")%>
}
[assembly, WebResource("Default.css","text/css", PerformSubstitution=true)]
[assembly, WebResource("xyz.jpg","image/jpg")]
次の手順に従って、Web リソースを CSS の背景画像として参照します。
画像の URL を「background: url('<%=WebResource("xyz.jpg")%>');」と参照します。以下の方法で。
Default.css
body{
background: url('<%=WebResource("xyz.jpg")%>');
}
AssemblyInfo.cs ファイルに CSS ファイルを「PerformSubstitution=true」属性で以下のように登録します。
[assembly, WebResource("Default.css","text/css", PerformSubstitution=true)]
AssemblyInfo.cs ファイルで、イメージ ファイルを次のように登録します。
[assembly, WebResource("xyz.jpg","image/jpg")]
イメージ ファイル (xyz.jpg) と CSS ファイル (Default.css) を右クリックし、[プロパティ] をクリックして、[ビルド リソース] オプションを [埋め込みリソース] として選択します。
そして完了です。ハッピーコーディング!!!
私のものは他の提案のわずかなバリエーションですが、ASP.NET ページ内のインライン CSS で機能します
[assembly: WebResource("MyImageFile.png", "image/png")]
background-image: url('<%= Page.ClientScript.GetWebResourceUrl(typeof(MyUserControl), "MyImageFile.png") %>')
Web サービスを介してリソースを公開するのはどうでしょうか。CSSファイルのように、background: url( getImage.aspx?image=newyork.jpg )
?