第11章 母版页
母版页:1.网站有统一的风格+统一布局,主要是针对布局,使整个网站有统一的布局
母版页:母版页的嵌套
母版页应用范围:页面级、应用程序级、文件夹级
第12章:主题和皮肤
主题:主要是针对页面中的控件,主要控制页面控件的外观(skin),及页面样式(css)
主题和级联样式表区别:级联样式表(css)可以控制浏览器上的html标记的外观,而主题应用于服务器上,并使用于asp.net控件属性,如可以使用主题来指定gridvied是否有页眉而css不能做到。
主题:由一组文件组成,包括皮肤文件(.skin)、css样式表、图片文件夹,以及其他文件。
皮肤文件:主要用于定义服务器控件的外观;
css样式表:设置html控件和页面的样式属性;
主题:位于根目录中一个名为Themes的文件夹中,当应用主题时,asp.net Frameword将自动查找此文件夹。
Thtemes:文件夹下可包含多个主题,学会更好的管理组织(命名)主题。
一个主题下:包含多个.skin皮肤文件和多个css文件。当一个页面应用一个主题的时候,该主题下所有的皮肤文件都被Asp.NET Frameword合并在一起,视为一个皮肤文件
分类:全局主题和应用程序主题
指定和禁用主题:
1. 用<%@ page Theme="Blue"%> 则里面的控件不能更改属性了,显示的是Blue里面设定的样式
2.用<%@page StyleSheetTheme="Blue"%则里面的控件可以更改属性。类似级联样式表。
第十一章
母版页:共有的东西如header和侧边list放在母版页中,main作为内容占位符。在内容页中定义内容。
实际使用的时候,建立一个总母版页,对于list分页面建立一个子母版页。建立销售文件夹,库存文件夹等等,里面建立子母版页,里面的内容页根据这个子母版页建立。
总母版页:
<%@ Master Language="C#" AutoEventWireup="true" CodeFile="MasterPage.master.cs" Inherits="MasterPage" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title><!--此处添加一个内容页占位符,可以重新定义title-->
<asp:ContentPlaceHolder ID="head" runat="server">
</asp:ContentPlaceHolder>
</head>
<body>
<form id="form1" runat="server">
<div class="page"><!--共有的头部-->
<div class="header">
<div class="title">
<h1>
<asp:Label ID="Label1" runat="server" Text="muban"></asp:Label>
我的 ASP.NET 应用程序
</h1>
</div>
<div class="loginDisplay">
<asp:LoginView ID="HeadLoginView" runat="server" EnableViewState="false">
<AnonymousTemplate>
[ <a href="~/Account/Login.aspx" id="HeadLoginStatus" runat="server">登录</a> ]
</AnonymousTemplate>
<LoggedInTemplate>
欢迎您,<span class="bold"><asp:LoginName ID="HeadLoginName" runat="server" />
</span>! [
<asp:LoginStatus ID="HeadLoginStatus" runat="server" LogoutAction="Redirect" LogoutText="注销"
LogoutPageUrl="~/" />
]
</LoggedInTemplate>
</asp:LoginView>
</div>
<div class="clear hideSkiplink">
<asp:Menu ID="NavigationMenu" runat="server" CssClass="menu" EnableViewState="false"
IncludeStyleBlock="false" Orientation="Horizontal">
<Items>
<asp:MenuItem NavigateUrl="~/Default.aspx" Text="主页" />
<asp:MenuItem NavigateUrl="~/About.aspx" Text="关于" />
</Items>
</asp:Menu>
</div>
</div>
<div class="main"><!--此处添加一个内容页占位符-->
<asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server">
</asp:ContentPlaceHolder>
</div>
<div class="footer"><!--此处添加一个内容页占位符-->
<asp:ContentPlaceHolder ID="footer" runat="server">
</asp:ContentPlaceHolder>
</div>
</div>
</form>
</body>
</html>
子母版页里的部分:
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="Server">
<div style="background-color: #0000FF; width: 200px; height: 50px; float: left;">
管理菜单</div>
<div style="background-color: #0000FF; width: 600px; height: 50px; float: right;">
<!--此处添加一个内容页占位符-->
<asp:ContentPlaceHolder ID="fenyedetail" runat="server" />
</div>
</asp:Content>
第十二章:主题皮肤
一个App_Themes文件夹下可以定义多个主题文件夹(lable mysite texbox),每个主题文件夹下可以定义多个皮肤文件或css文件。最好是mysite主题,app_thems右键,建立皮肤问文件mysite时候自动建立mysite文件夹,可以在mysite文件夹上右键建立多个皮肤文件(外观文件),最好按照控件名如lable textbox建立,如果皮肤需要图片,如asp:image控件。图像文件放在和App_themes并列的一个images文件夹,网站肯定要有一个images文件夹。皮肤----就是控件的外观,针对的是控件。可以在mysite下建立all.css default.css ,fenye.css等css文件。
第17章 网站开发架构
三层:第二层服务层,也叫业务逻辑层,主要是用来处理逻辑,如输入为空,返回等。至于返回dataset,调用函数,只是起一个函数名,函数里面嵌套第三层的函数。只处理逻辑 ,至于数据的处理交由第三层。
三层:页面代码、规则描述、数据库操作代码
p394页:中间服务层:提供留言列表函数(new interservice().listword()),保存留言函数(new interservice().postLword(inckname,password,textcontent))等功能函数,是功能。
p401页面:数据链接实例工厂。
三层架构特点:可扩展性好,开发UI和代码人员分开互不影响,但是速度慢,解决方法:将应用分布在不同服务器上加以解决。
为何引入实体项目:因为返回的是dataset不可靠,原因是若数据库为空,或者数据库的表里面的字段txtcontet改为mycontent了,则前台WebUI代码也要改,因为databinder.eval(container.dataitem,"txtcontent"),带有字段名txtcontent。