本节介绍在开发过程中用到的几种控件,更深入的使用请查询相关资料
--母版页
在ASP.NET2.0中,母版页是一个很特殊的文件,它包含了页面中的部分固定的静态布局,在派生页中可以使用的区域则以特殊的占位符,在系统编译时,母版页与派生页合为一体,运行时显示成具有特定功能的页面。在页面的代码中,除了标识性的代码@Master外,就是控件ContentPlaceHolder,在这里显示派生页的内容。一个标准的母版页代码:
1
<%
@ Master Language="C#" AutoEventWireup="true" CodeFile="MasterPage.master.cs" Inherits="MasterPage"
%>
2
3
<!
DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
>
4
5
<
html
xmlns
="http://www.w3.org/1999/xhtml"
>
6
<
head
runat
="server"
>
7
<
title
>
无标题页
</
title
>
8
<
asp:ContentPlaceHolder
id
="head"
runat
="server"
>
9
</
asp:ContentPlaceHolder
>
10
</
head
>
11
<
body
>
12
<
form
id
="form1"
runat
="server"
>
13
<
div
>
14
<
asp:ContentPlaceHolder
id
="ContentPlaceHolder1"
runat
="server"
>
15
16
</
asp:ContentPlaceHolder
>
17
</
div
>
18
</
form
>
19
</
body
>
20
</
html
>
21
在代码的开头@Master表示此文件为母版页,使ASP.NET运行库能够正确的进行处理,在asp:ContentPlaceHolder的标识,则是派生页的点位符。在母版页中,可以定制任意多个内容占位符。
在派生页生成时,在代码中不再显示正常网页的内容,而是指向了母版页:
1
<%
@ Page Language="C#" MasterPageFile="~/MasterPage.master" AutoEventWireup="true" CodeFile="Default2.aspx.cs" Inherits="Default2" Title="无标题页"
%>
2
3
<
asp:Content
ID
="Content1"
ContentPlaceHolderID
="head"
Runat
="Server"
>
4
</
asp:Content
>
5
<
asp:Content
ID
="Content2"
ContentPlaceHolderID
="ContentPlaceHolder1"
Runat
="Server"
>
6
</
asp:Content
>
7
在派生页中进行特定的开发就可以了。
--站点地图
站点地图是一种层次性的信息,能以多种形式出现,最简单的方式就是在程序的目录下放置一个名为web.sitemap的xml文件,再使用数据源SiteMapDataSource结合显示控件SiteMapPath进行组合。如本例中的web.sitemap文件内容:
<?
xml version="1.0" encoding="utf-8"
?>
<
siteMap
xmlns
="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0"
>
<
siteMapNode
url
="~/Default.aspx"
title
="首页"
description
="首页"
>
<
siteMapNode
title
="数据管理项"
>
<
siteMapNode
url
="~/DataList.aspx"
title
="数据维护"
description
="可以新增、修改及删除数据"
/>
</
siteMapNode
>
<
siteMapNode
title
="导出数据项"
>
</
siteMapNode
>
</
siteMapNode
>
</
siteMap
>
--Login
是用户登录的控件,提供了一个用户名称输入框及口令输入框,在用户登录时,输入对应的信息,选择验证按钮后,将使用默认的提供程序进行验证。另外Login还提供了一些可选的界面元素,如密码提醒、新用户注册、帮助等。
--LoginName
LoginName控件是一个非常简单的控件,类似于一个标签,在用户登录时,自动显示登录用户的名称。
--LoginStatus
这是一个非常好玩的东西,通常和LoginName结合使用,它的用户界面包含一个登录或退出链接按钮组成,根据用户的登录状态进行显示。在用户登录后,显示为“退出”,在用户没有登录的情况下,显示“登录”,当用户选择后,直接进入登录页面。
--LoginView
根据用户的登录状态及权限,显示已经定义的相关内容。此控件能创建任意多的模板,每一种状态或角色一个模板。在本软件中,只定义了两个模板:未登录及登录成功,在未登录时,显示包含Login控件的模板,等待用户登录,登录后显示快捷方式模板供用户操作。
<
asp:LoginView
ID
="LoginView1"
runat
="server"
>
<
LoggedInTemplate
>
<
asp:TreeView
ID
="TreeView1"
runat
="server"
DataSourceID
="SiteMapDataSource1"
ShowLines
="True"
Width
="100%"
>
<
LeafNodeStyle
NodeSpacing
="0px"
/>
</
asp:TreeView
>
<
br
/>
</
LoggedInTemplate
>
<
AnonymousTemplate
>
<
asp:Login
ID
="Login1"
runat
="server"
Width
="100%"
>
<
TextBoxStyle
Width
="100px"
/>
<
LabelStyle
Width
="60px"
/>
</
asp:Login
>
</
AnonymousTemplate
>
</
asp:LoginView
>
简单的介绍了一下软件中所用的控件,再有GridView及DataList均为更常见,也更复杂的控件,请单独查询使用。