由于在asp.net中没有用户控件的标题部分,因此用户控件无法了解样式表文件。 因此,Visual Studio无法识别用户控件中的CSS类,并会产生警告。 如何使用户控件知道它将与css类相关,所以如果警告我不存在的css类,则意味着该类确实不存在?
编辑:还是应该进行其他设计,例如将CSS类作为GridView的" HeaderStyle-CssClass"属性公开?
这是我所做的:
1
| <link rel="Stylesheet" type="text/css" href="Stylesheet.css" id="style" runat="server" visible="false" /> |
它使Visual Studio误以为您已在页面上添加了样式表,但未呈现。
这是使用多个引用进行此操作的更简洁的方法;
1 2 3 4
| <% 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。
1 2 3 4 5 6 7 8 9 10
| <%@ 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标签中添加style属性) 。
您可以直接在userControl中使用CSS。
在userControl中使用它:
1 2 3 4 5 6 7 8 9
| <head>
<style type="text/css">
.wrapper {
margin: 0 auto -142px;
/* the bottom margin is the negative value of the footer's height */
}
</style>
</head> |
这将起作用。