Как заставить пользовательские элементы управления знать о классах CSS в ASP.NET
-
09-06-2019 - |
Вопрос
Поскольку в 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>
Это будет работать.