2010-04-28 24 views
0

ASP.NET WebResource.axd Http处理程序用于为DLL中嵌入的资源提供服务。如何将媒体属性添加到ASP.NET WebResource.axd Http处理程序的CSS LINK html标记中

LINK html标记是由ASP.NET自动生成的。

我想从第三方DLL中截取某一组嵌入式CSS的LINK html标记的代,并添加一个媒体属性。

总结:

我想媒体属性添加到了ASP.NET WebResource.axd的HTTP处理程序的LINK html标记。

所以这个:

<link type="text/css" rel="stylesheet" href="/WebResource.axd?d=XXXXX" /> 

出现这样的:

​​

干杯

+0

对不起,但我不确定我是否在遵循:您问的问题是什么,您尝试了什么? – 2010-04-28 20:07:11

回答

0

有一种变通方法。首先,像这样的链接被添加到Page的头上。您的页面在<head>标签中必须包含runat=”server”,才能包含自动样式表。由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 insted的的WebResource.axd但对于最后一个结果将是相同的。

最新的事情:页面中可能有其他链接。所以我们很高兴认识到我们的链接(链接需要修改)。因此,如果没有id属性,您可以通过href属性识别它们。