Я недавно использовал Веб-формы для маркетологов (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
выдаст исключение.