在VS 2005和ASP.NET 2.0中处理CSS样式表

本文给读者一个所有基于母板页的网页自动获得样式表的技巧,就是由控件提供的对相对路径调整的支持。可以在母板页里使用这个东西来轻松地引用一个在整个项目里重用的.CSS 样式表文件,不管这个项目是相对于根目录的还是一个子应用。

推荐一个可在ASP.NET 2.0中利用的技巧是,当使用CSS时,使用母板页的功能给你的网站提供统一的UI,使用母板页在一个地方引用所有的样式表,这样,所有基于这个母板页的网页就会自动获得这些样式表。

可利用的一个技巧是由 <head runat="server"> 控件提供的对相对路径调整的支持。可以在母板页里使用这个东西来轻松地引用一个在整个项目里重用的.CSS 样式表文件,不管这个项目是相对于根目录的还是一个子应用:

<%@ Master Language="C#" AutoEventWireup="true" CodeFile="Site.master.cs" Inherits="Site" %>
<html><head runat="server">
<title>Master Page</title>
<link href="StyleSheet.css" rel="stylesheet" type="text/css" />
</head><body>
<form id="form1" runat="server">
<asp:contentplaceholder id="MainContent" runat="server">
</asp:contentplaceholder>
</form></body></html>


<head> 控件的路径调整功能然后就可以取一个 .CSS 样式表文件的相对路径,然后在运行时正确地输出其绝对路径,不管它是个相对于根目录的网站还是一个子应用的一部分。

然后,网站上的页面就可以类似下面这样的内容,这些网页会在运行时和在设计时VS的HTML即见即所得(WYSIWYG)设计器里自动获得样式表设置:

<%@ Page Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" Title="Sample Page" %>
<asp:Content ID="Content1" ContentPlaceHolderID="MainContent" Runat="Server">
<h1>Root Web Site Sample</h1>
<a href="/Products">Click here to go to the Products section (note the absolute path) </a>
</asp:Content>


因为包含在 .CSS 样式表文件中的图片引用是相对于 .CSS文件的路径而被浏览器引用的,而不是相对于使用样式表文件的网页的路径的,可以把这个行为与上面的这个 <head runat="server"> 的逻辑结合起来,使得你的图片在根网站和子应用两个情形下自动生效,即使后来改变路径也不会出问题。

通过这个方式引用的图片在VS 2005的HTML即见即所得(WYSIWYG)设计器里也会正确地显示,不这样做的话,VS 2005有时会有困难决定获取图片引用的“/”根路径。

时间: 2024-09-21 13:12:33

在VS 2005和ASP.NET 2.0中处理CSS样式表的相关文章

在Visual Studio 2005和ASP.NET 2.0中使用强类型数据存取

asp.net|visual|数据 "Never put off until run time what can be done at compile time."David Gries, Compiler Construction for Digital Computers Introduction 作为程序员,我们在学习一些新技术的时候,范例有时候会是我们最大的敌人.指南通常被设计成简单易懂,但同时里面的懒惰.无效率的甚至是危险的代码编写会增多.像这种情况最普遍存在的就是在ADO.

ASP.NET 2.0 中的 Theme 功能

asp.net ASP.NET 2.0 中新增加了 Theme 的功能,它的出现能让网站实现换肤更加容易. Theme 的实现包括:CSS.Skin.MasterPage. CSS 是用于控制所有 HTML 标记的外观. Skin 是用于控制所有 ASP.NET 服务器调整的外观,并且可以通过属性 cssClass 定义它的 CSS 样式. MasterPage 是 *.aspx 页面模版,不过它没有被定义到 Theme 中. ----------------------------------

在ASP.NET 2.0中使用样式、主题和皮肤

asp.net ASP.NET 2.0的主题和皮肤特性使你能够把样式和布局信息存放到一组独立的文件中,总称为主题(Theme).接下来我们可以把这个主题应用到任何站点,用于改变该站点内的页面和控件的外观和感觉.通过改变主题的内容,而不用改变站点的单个页面,就可以轻易地改变站点的样式.主题也可以在开发者之间共享. ASP.NET包含了大量的用于定制应用程序的页面和控件的外观和感觉的特性.控件支持使用Style(样式)对象模型来设置格式属性(例如字体.边框.背景和前景颜色.宽度.高度等等).控件也支

ASP.NET 2.0中使用样式、主题和皮肤

asp.net ASP.net2.0的主题和皮肤特性使你能够把样式和布局信息存放到一组独立的文件中,总称为主题(Theme).接下来我们可以把这个主题应用到任何站点,用于改变该站点内的页面和控件的外观和感觉.通过改变主题的内容,而不用改变站点的单个页面,就可以轻易地改变站点的样式.主题也可以在开发者之间共享. ASP.NET包含了大量的用于定制应用程序的页面和控件的外观和感觉的特性.控件支持使用Style(样式)对象模型来设置格式属性(例如字体.边框.背景和前景颜色.宽度.高度等等).控件也支持

抢先试用ASP.NET 2.0中的新型安全控件

asp.net|安全|控件 一. 引言 与ASP.NET 2.0一同上市的有几个新的安全控件-它们位于工具的Login选项卡中(见图1)-这些控件大大简化了Web开发人员的工作.通过使用这些新的安全控件,现在你可以执行例如用户登录.注册.口令改变等的任务:而且,为此做出的努力仅是拖放相应的控件到你的Web表单上去.在本文中,我将向你展示怎样使用这些新控件来实现用户认证. 首先,让我们探索一下LoginView.LoginStatus和LoginName三个控件的使用.首先,让我们使用Visual

理解并扩展 ASP.NET 2.0 中的站点导航系统

asp.net|导航|站点 摘要:ASP.NET 2.0 站点导航系统构建于一个功能强大.灵活的体系结构之上,设计这样的体系结构是为了使其具有可扩展性.本文探究站点提供程序的体系结构并提供一个示例提供程序,该提供程序将文件系统公开为站点导航的数据源,从而替代了标准的 Web.sitemap XML 文件. 简介 大多数 web 站点采用可视化导航的某种形式来帮助用户轻松地浏览站点,以及查找他们所需的信息和 Web 页.尽管不同站点之间的感观效果千差万别,但是通常会使用相同的基本元素 - 以导航栏

ASP.NET 2.0中的页面输出缓存

asp.net|缓存|页面 静态页面全部内容保存在服务器内存中.当再有请求时,系统将缓存中的相关数据直接输出,直到缓存数据过期.这个过程中,缓存不需要再次经过页面处理生命周期.这样可以缩短请求响应时间,提高应用程序性能.很显然,页面输出缓存适用于不需要频繁更新数据,而占用大量时间和资源才能编译生成的页面.对于那些数据经常更新的页面,则不适用.默认情况下,ASP.NET 2.0启用了页面输出缓存功能,但并不缓存任何响应的输出.开发人员必须通过设置,使得某些页面的响应成为缓存的一部分. 设置页面输出

ASP.NET 2.0 中好东西(theme)介绍

asp.net     最近 Visual Studio 2005 深深的吸引了我,心里那个激动啊,迫不及待的学习了关于ASP.NET 2.0中的一些新特性,想小试牛刀,现给大家参考参考,呵呵.    在一个网站的开发过程中,都是靠不同的分工来完成的,如果你是个编码员,是不是希望做美工的人不要动你的代码呢,即使他不是有心的,因为也许他不太懂编码哦.无论是编码的人还是美工的人都不希望在对方的东西中找自己要修改的东西,ASP.ENT2.0中的Theme特性可以实现这种分离,不但使结构更清晰,维护也变

探讨ASP.NET 2.0中的Web控件改进技术

asp.net|web|控件 ASP.NET 2.0并没有抛弃1.1版本中的任何现有控件,而是增加了一组新的控件;同时还引入了若干新的控件开发技术.本系列文章将对这些内容展开全面探讨. 一. 引言 到目前为止,你可能已经了解了大量的ASP.NET 2.0新特征-母版页面,主题,提供者,等等--所有这样内容都相当精彩;但是,你是否了解到有关定制Web控件开发方面的重大变化?这正是我在本文中所想讨论的.如果你已经从事于控件开发,那么,我想本文所描述的ASP.NET 2.0中的新的改进特征会立即应用于