ASP.NET2.0网站开发(5)控件

本节介绍在开发过程中用到的几种控件,更深入的使用请查询相关资料

--母版页

在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均为更常见,也更复杂的控件,请单独查询使用。

你可能感兴趣的:(asp.net)