如何使用户控件了解ASP.NET中的CSS类

如何使用户控件了解ASP.NET中的CSS类

How to make user controls know about css classes in ASP.NET

由于在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>

这将起作用。


推荐阅读