Как добавить атрибут медиа-атрибута в тег HTML CSS LINK для HTTP HTTP.
-
02-10-2019 - |
Вопрос
Обработчик asp.net webresource.axd http используется для обслуживания ресурсов встроенных в DLL.
Тег HTML ссылки автоматически генерируется ASP.NET.
Я хотел бы перехватить генерацию HTML-тега ссылки для определенного набора встроенных CSS из третьей сторонней DLL и добавить атрибут носителя.
В итоге:
Я хотел бы добавить атрибут медиа в тегу HTML ссылки для HTTP-обработчика asp.net webresource.axd.
Так что это:
<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
атрибут.