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

posted on 2008-11-29 20:45  龙少爷  阅读(352)  评论(0编辑  收藏  举报

导航