asp.net webresource.axd httpハンドラーのCSSリンクHTMLタグにメディア属性を追加する方法
-
02-10-2019 - |
質問
asp.net webresource.axd httpハンドラーは、dllに埋め込まれたリソースを提供するために使用されます。
リンクHTMLタグは、ASP.NETによって自動的に生成されます。
サードパーティのDLLからの特定の組み込みCSSのリンクHTMLタグの生成をインターセプトし、メディア属性を追加したいと思います。
要約すれば:
asp.net webresource.axd httpハンドラーのリンクHTMLタグにメディア属性を追加したいと思います。
したがって、この:
<link type="text/css" rel="stylesheet" href="/WebResource.axd?d=XXXXX" />
このように見えます:
<link media="screen and (min-device-width: 481px)" type="text/css" rel="stylesheet"
href="/WebResource.axd?d=XXXXX" />
乾杯
解決
回避策があります。まず、このようなリンクが Page
頭の頭。あなたのページは持っている必要があります runat=”server”
の中に <head>
自動スタイルシート包含のタグ。 IDEによって作成されたページには、この設定が自動的にあります。したがって、追加されるリンクはaです HtmlLink
コントロールタイプ。アイデアは、コントロールを繰り返すことです Page
ヘッダー、見つけてください HtmlLink
必要な属性(または属性)を制御および設定します。これをに含めます Page_Load
イベント:
Page.Header.Controls
.OfType<HtmlLink>()
.ToList()
.ForEach(link =>
{
link.Attributes["media"] = "screen and (min-device-width: 481px)";
});
これの前に私は持っていました:
<head id="Header">
<title></title>
<link href="App_Themes/MyTheme/main.css"
type="text/css"
rel="stylesheet" />
</head>
結果は次のとおりです。
私は知っています、これは使用します Themes
のInsted WebResource.axd
しかし、最後の場合は結果が同じになります。
最新のこと:ページに別のリンクがあるかもしれません。したがって、認識するのは良いことです 私たちの リンク(リンクを変更する必要があります)。したがって、noがある場合 id
あなたがそれらを認識することができる属性 href
属性。
所属していません StackOverflow