Как заставить пользовательские элементы управления знать о классах CSS в ASP.NET - PullRequest
49 голосов
/ 29 августа 2008

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

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

Ответы [ 4 ]

63 голосов
/ 29 августа 2008

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

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

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

1 голос
/ 08 февраля 2013

Добавьте стиль в свой 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 
0 голосов
/ 31 марта 2012

Вы можете использовать CSS direct в 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>

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

0 голосов
/ 29 августа 2008

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...