Я использую Веб-формы для маркетологов (WFFM) в проекте Sitecore, и я заметил, что он ввел:
<link href="/sitecore%20modules/shell/Web%20Forms%20for%20Marketers/themes/colors//jquery-ui.custom.Default.css" rel="stylesheet" type="text/css" />
Есть ли способ отключить ссылку, чтобы на страницу добавлялись только указанные мной файлы CSS?
Изучив больше исходников WFFM, я заметил, что нежелательные <link />
добавляются на страницу через Page.Header.Controls
:
if (page.Header != null)
{
if (!flag)
{
try
{
//possibly added as link, unless an exception is thrown
page.Header.Controls.Add((Control) htmlLink);
linkDictionary.Add(key, key);
continue;
}
catch (Exception ex)
{
//added manually
HtmlTextWriter writer = new HtmlTextWriter((TextWriter) new StringWriter(new StringBuilder()));
htmlLink.RenderControl(writer);
page.ClientScript.RegisterClientScriptBlock(typeof (Page), writer.InnerWriter.ToString(), writer.InnerWriter.ToString());
flag = true;
continue;
}
}
}
Это означает, что я мог бы проверить все элементы управления заголовком и скрыть тот, который содержит "jquery-ui.custom.Default.css"
, но это все еще похоже на грязный неприятный взлом (что так и есть). Он также не удалит ссылку в ситуациях, когда page.Header.Controls.Add
вызовет исключение.