2010-04-28 26 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屬性識別它們。