Я разрабатываю пользовательский элемент управления, который является составом таблиц и кнопок. У меня также есть внешняя таблица стилей CSS, которая определяет стили для этих элементов.
Типом Управления является CompositeControl под пространством имен, MyControls и определение класса находятся в файле класса, CompositeControl.cs и dll сгенерированный файл называют MyControls.dll
Таблицу стилей называют styles.css и находится в той же папке как CompositeControl.cs
Для каждого управления (Кнопка, TableCell, и т.д.), я указал CssClass
свойство.
Когда я добавляю это управление к своей веб-странице ASP.NET и проверяю источник HTML, когда выполнено в localhost, я вижу, что все теги управления имеют атрибут класса правильно набор, но источник не включает <link>
тег, который необходим для включения внешней таблицы стилей.
Кто-то мог сказать мне, что еще я должен сделать для создания этой работы?Спасибо.
Внешние исходные файлы не включаются в страницу автоматически. Вы должны зарегистрировать их вручную в вашем контроле на странице :
HtmlLink cssSource = new HtmlLink();
cssSource.Href = Page.ClientScript.GetWebResourceUrl(this.GetType(), "styles.css");
cssSource.Attributes["rel"] = "stylesheet";
cssSource.Attributes["type"] = "text/css";
Page.Header.Controls.Add(cssSource);
Также попробуйте использовать ClientScriptManager.GetWebResourceUrl для получения местоположения вашего встроенного ресурса. Вот пример ссылки на встроенный ресурс.