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

StackOverflow https://stackoverflow.com/questions/34390

Вопрос

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

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

Это было полезно?

Решение

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

<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" />
<% } %>

Как видно из это сообщение в блоге от Phil Haack.

Другие советы

Добавьте стиль в свой пользовательский контроль и импортируйте в него 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 к типу рендеринга (т.е. принимают их свойства и добавляют атрибут style к теги 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>

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top