ASP.NET2.0网站开发(5)控件
本节介绍在开发过程中用到的几种控件,更深入的使用请查询相关资料
--母版页
在ASP.NET2.0中,母版页是一个很特殊的文件,它包含了页面中的部分固定的静态布局,在派生页中可以使用的区域则以特殊的占位符,在系统编译时,母版页与派生页合为一体,运行时显示成具有特定功能的页面。在页面的代码中,除了标识性的代码@Master外,就是控件ContentPlaceHolder,在这里显示派生页的内容。一个标准的母版页代码:
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的标识,则是派生页的点位符。在母版页中,可以定制任意多个内容占位符。
在派生页生成时,在代码中不再显示正常网页的内容,而是指向了母版页:
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文件内容:
<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控件的模板,等待用户登录,登录后显示快捷方式模板供用户操作。
<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均为更常见,也更复杂的控件,请单独查询使用。