Как заставить пользовательские элементы управления знать о классах CSS в ASP.NET

Поскольку в asp.net нет заголовочных разделов для пользовательских элементов управления, пользовательские элементы управления не имеют возможности узнать о файлах таблиц стилей. Поэтому классы CSS в пользовательских элементах управления не распознаются Visual Studio и выдают предупреждения. Как я могу заставить пользовательский элемент управления знать, что он будет относиться к классу css, поэтому, если он предупреждает меня о несуществующем классе css, это означает, что класс действительно не существует?

Редактировать: Или я должен пойти на другой дизайн, как представление классов CSS в качестве свойств, таких как "HeaderStyle-CssClass" GridView?

4 ответа

Решение

Вот что я сделал:

<link rel="Stylesheet" type="text/css" href="Stylesheet.css" id="style" runat="server" visible="false" />

Это вводит Visual Studio в заблуждение, что вы добавили таблицу стилей на страницу, но она не отображается.


Вот еще более краткий способ сделать это с несколькими ссылками;

<% if (false) { %>
    <link rel="Stylesheet" type="text/css" href="Stylesheet.css" />
    <script type="text/javascript" src="js/jquery-1.2.6.js" />
<% } %>

Как видно из этого поста в блоге от Фила Хаака.

Добавьте стиль в свой usercontrol и импортируйте в него css.

 <%@ Control Language="vb" AutoEventWireup="false" CodeBehind="WCReportCalendar.ascx.vb"
Inherits="Intra.WCReportCalender" %>
 <style type='text/css'>    
      @import url("path of file.css");
       // This is how i used jqueryui css
      @import url("http://code.jquery.com/ui/1.10.0/themes/base/jquery-ui.css");               

 </style>

 your html 

Если вы создаете составной UserControl, вы можете установить свойство CSSClass для дочерних элементов управления.

Если нет, то вам нужно предоставить свойства, которые имеют тип Style или (как я часто это делаю) строковые свойства, которые применяют CSS к типу рендеринга (т.е. принимают их свойства и добавляют атрибут стиля к тэгам HTML при рендеринге).,

Ты можешь использовать CSS прямо в userControl,

Используйте это в UserControl:

 <head>
    <title></title> 
    <style type="text/css">
      .wrapper {
          margin: 0 auto -142px; 
         /* the bottom margin is the negative value of the footer's height */ 
       }
    </style>
 </head>

Это будет работать

Другие вопросы по тегам