Связывание таблицы стилей CSS с пользовательским элементом управления ASP.NET - PullRequest
7 голосов
/ 05 июня 2010

Я разрабатываю пользовательский элемент управления, который представляет собой набор таблиц и кнопок. У меня также есть внешняя таблица стилей CSS, которая определяет стили для этих элементов.

Тип элемента управления: CompositeControl , под пространством имен MyControls , а определение класса находится в файле класса CompositeControl.cs , а созданный файл DLL с именем MyControls.dll

Таблица стилей называется styles.css и находится в той же папке, что и CompositeControl.cs

Для каждого элемента управления (Button, TableCell и т. Д.) Я указал свойство CssClass.

Когда я добавляю этот элемент управления на свою веб-страницу ASP.NET и проверяю источник HTML при запуске на локальном хосте, я вижу, что все теги элемента управления имеют правильно установлен атрибут class, но источник не содержит тега <link>, который необходимо включить внешнюю таблицу стилей.

Может кто-нибудь сказать мне, что еще мне нужно сделать, чтобы сделать эту работу? Спасибо.

1 Ответ

7 голосов
/ 05 июня 2010

Внешние исходные файлы не включаются на страницу автоматически. Вы должны зарегистрировать их вручную под своим контролем на своей странице:

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 , чтобы получить местоположение вашего встроенного ресурса. Вот пример ссылки на встроенный ресурс.

...