如何将媒体属性添加到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创建的页面自动具有此设置。因此,添加链接是一个 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
安排 WebResource.axd
但是对于最后一个,结果将相同。
最新一件事:页面中可能还有其他链接。因此,认识会很好 我们的 链接(需要修改链接)。所以如果没有 id
属性您可以通过 href
属性。
不隶属于 StackOverflow