簡體   English   中英

如何將媒體屬性添加到ASP.NET WebResource.axd Http處理程序的CSS LINK html標記中

[英]How to add a media attribute to the CSS LINK html tag for the ASP.NET WebResource.axd Http Handler

ASP.NET WebResource.axd Http處理程序用於提供DLL中嵌入的資源。

LINK html標記由ASP.NET自動生成。

我想攔截來自第三方DLL的某些嵌入式CSS集合的LINK html標簽的生成,並添加一個media屬性。

綜上所述:

我想將Media屬性添加到ASP.NET WebResource.axd Http處理程序的LINK 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的頭部。 您的頁面必須在<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>

結果是:

我知道,這使用的是由WebResource.axd插入的Themes ,但是對於最后一個,結果將是相同的。

最新消息:頁面中可能還有其他鏈接。 因此,最好能識別我們的鏈接(需要修改鏈接)。 因此,如果沒有id屬性,則可以通過href屬性識別它們。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM