Поскольку вы используете sharepoint, вы можете создать собственный webcontrol в коде в решении WSP Package Farm Solution.
Создайте класс DynamicDocTypeControl
public class DynamicDocTypeControl : System.Web.UI.WebControl *(check namespace for typos)
{
override Render(...) {
//add some conditional logic here for your dynamicness...
writer.Write("<!DOCTYPE HTML>");
}
}
Добавить пустой элемент Sharepoint в свой проект и перейти к окну свойств и использовать раздел безопасного управления в окне свойств, чтобы зарегистрировать свой контроль как безопасный контроль.
Построить/Пакет wsp и развернуть его на ферму.
Затем отредактируйте свою главную страницу в дизайнере sharepoint и оставьте свой контроль над ней, где должен быть показан doctype.
Ввод его на главную страницу не будет разрушать ваши сайты, потому что вы можете заставить свою визуализацию визуализировать ничего, если она не находится на разрешенной странице.
Просто введите код на странице aspx, который устанавливает значение HttpContext.Current.Item ..., которое элемент управления doctype ищет для определения, должен ли он отображаться. Пока ваша страница aspx устанавливает флаг конфигурации перед вызовом Render, она будет там, когда рендер запускается в элементе управления типа doc.
например.
<@ Register TagPrefix="XYZ" Namespace="XYZ.Controls" Assembly="XYZ... (include fully qualified assembly name)" />
<XYZ:DynamicDocTypeControl />
Мне не повезло:/ –
Не повезло мне:/по-видимому, doctype закомментирован. Мне нужно добавить doctype на сайт aspx, а не на сайт ascx –
@AirTrickz, тогда сделайте это на своей странице aspx. – SmartDev