三创建母版页和站点导航Word格式文档下载.docx
- 文档编号:22107488
- 上传时间:2023-02-02
- 格式:DOCX
- 页数:27
- 大小:601.19KB
三创建母版页和站点导航Word格式文档下载.docx
《三创建母版页和站点导航Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《三创建母版页和站点导航Word格式文档下载.docx(27页珍藏版)》请在冰豆网上搜索。
也许你不知道下面这些标记怎样显示,样式表规则定义了导航用的<
div>
标签中的内容绝对定位在页面的左边并且宽度固定为200像素。
Site.master
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
<
%@MasterLanguage="
C#"
AutoEventWireup="
true"
CodeFile="
Site.master.cs"
Inherits="
Site"
%>
!
DOCTYPEhtmlPUBLIC"
-//W3C//DTDXHTML1.0Transitional//EN"
"
http:
//www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
>
htmlxmlns="
//www.w3.org/1999/xhtml"
headrunat="
server"
title>
WorkingwithDataTutorials<
/title>
linkhref="
Styles.css"
rel="
stylesheet"
type="
text/css"
/>
/head>
body>
divid="
wrapper"
formid="
form1"
runat="
header"
spanclass="
title"
/span>
breadcrumb"
TODO:
Breadcrumbwillgohere...<
/div>
content"
asp:
contentplaceholderid="
MainContent"
--Page-specificcontentwillgohere...-->
/asp:
contentplaceholder>
navigation"
Menuwillgohere...
/form>
/body>
/html>
一个母板页定义了固定的布局和可以被那些使用了母板页的aspx页面填充的可编辑区域
这个可编辑区域是通过ContentPlaceHolder控件显示,位于<
标记中。
我们的母板页中只有一个ContentPlaceHolder(MainContent),但是母板页中是可以包含多个ContentPlaceHolder控件的。
输入上面的标记,切换到设计视图观察母板页的布局。
所有的使用了这个母板页的aspx页面都会有这样统一的布局,而MainContent区域是留给aspx页面展现自己才华的地方。
图4:
在设计视图中显示的母板页
步骤2:
给站点添加一个主页
定义母板页后,我们准备给站点添加一些aspx页面。
让我们从添加我们的首页Degault.aspx开始吧。
在解决方案管理器中右键点击项目名称并且选择添加新建项目。
从模板列表中选择WebForm选项并且命名为Default.aspx。
并且,勾上“选择母板页”的复选框。
图5:
添加一个新WebForm并且勾上“选择母板页”的复选框
点击确定按钮后,将会询问你新建的这个aspx页面使用哪个母板页。
也许你有多个母板页在你的项目中,但是我们只有一个。
图6:
选择你要使用的母板页
选择母板页后,新建的aspx会包含下面这些标记:
Default.aspx
%@PageLanguage="
MasterPageFile="
~/Site.master"
Default.aspx.cs"
_Default"
Title="
UntitledPage"
ContentID="
Content1"
ContentPlaceHolderID="
Runat="
Server"
Content>
在@Page指令中有一个指向母板页的引用(MasterPageFile=”~/Site.master”),并且aspx页面的标记中包含了一个Content控件对应母板页中定义的ContentPlaceHolder控件,这个Content控件的ContentPlaceHolderID属性映射到指定的ContentPlaceHolder控件。
你可以在Content控件中放置你想显示在相应ContentPlaceHolder控件位置的标记。
设置@Page指令的Title属性为Home并且添加一些欢迎词到Content控件中:
Home"
h1>
WelcometotheWorkingwithDataTutorialSite<
/h1>
p>
Thissiteisbeingbuiltaspartofasetoftutorialsthat
illustratesomeofthenewdataaccessanddatabindingfeaturesin
ASP.NET2.0andVisualWebDeveloper.<
/p>
Overtime,itwillincludeahostofsamplesthat
demonstrate:
ul>
li>
BuildingaDAL(dataaccesslayer),<
/li>
UsingstronglytypedTableAdaptersandDataTables<
Master-Detailreports<
Filtering<
Paging,<
Two-waydatabinding,<
Editing,<
Deleting,<
Inserting,<
Hierarchicaldatabrowsing,<
Hierarchicaldrill-down,<
Optimisticconcurrency,<
Andmore!
/ul>
@Page指令中的Title属性允许我们可以在aspx页面定义标题,即使母板页中已经定义了<
元素。
我们还可以使用Page.Title的编程方式设置页面的标题。
需要注意的是母板页中引用的样式表(如Style.css)会自动校正以应用到每个aspx页面中,这是与aspx页面的目录和母板页目录之间的关系无关。
切换到设计视图我们会看到我们的页面将在浏览器中的显示效果。
注意:
在设计视图里,aspx页面的内容只有可编辑区域可以被修改,在母板页定义的非ContentPlaceHolder部分标记被显示成灰色。
图7:
在设计视图中显示的可编辑区域及非可编辑区域
当Default.aspx页面被浏览器访问时,引擎会合并母板页的内容和aspx页的内容,并且将合并的内容呈现为最终的HTML发送到浏览器。
当母板页的内容被更新,所有使用了这个母板页的aspx页面会在下次被请求时重新和新的母板页内容合并。
简单的说,母板页模型允许定义一个统一的布局模板(母板页),当它改变时整个站点会反应这种改变。
添加更多的页面到站点中
让我们花一点时间添加另外的页面到站点中,以便支持最终的各种各样的课程的示例。
这里总共会有超过35个示例,所以我们先创建一部分。
以后会有很多类别的示例,为了更好的管理这些示例我们给每个分类添加一个文件夹。
现在我们添加三个文件夹:
·
BasicReporting
Filtering
CustomFormatting
最后,如图8所示向解决方案管理器中添加新文件。
每添加一个文件的时候记住要勾上“选择母板页”的复选框。
图8:
添加下列文件
第三步:
添加站点地图
管理一个由大量网页组成的网站的其中一个挑战是要为访问者浏览网站提供一个捷径。
作为开始,站点的导航结构必须被定义。
下一步,这个结构必须转换成适于导航的用户界面元素,比如菜单或者位置导航。
当有新页面添加到站点和已有的页面被移除的时候这个过程将要修改和校正。
在2.0以前,开发者需要自己创建站点导航结构,维护它并且将它转化为适于导航的用户界面元素。
在2.0里,开发者可以利用非常灵活的且内置的站点导航系统。
A2.0站点导航系统允许开发者定义一个站点地图并且提供了可以访问这些信息的API。
默认的A站点地图提供者期望站点地图信息存储在xml格式的文件中。
但是,建立在提供者模型上的站点导航系统是可以被扩展的以支持多种方式储存的站点地图。
JeffProsise的文章,TheSQLSiteMapProviderYou'
veBeenWaitingFor展示了怎样创建将站点地图存储在SQLServer数据库里的提供者;
另外一个选择是基于文件系统的站点地图提供者。
在这个指南中,我们仍然使用ASP.NET2.0里默认的站点地图提供者。
要创建站点地图,在解决方案管理器里右键点击项目名称,选择添加新项,然后选择站点地图类型。
命名为Web.sitemap然后单击添加按钮。
图9:
向你的项目中添加站点地图
站点地图文件是一个xml文件。
VisualStudio可以为站点地图结构提供智能感知。
站点地图文件必须含有<
siteMap>
作为根节点,它必须至少含有一个<
siteMapNode>
子节点。
这个<
元素又可以包含任意数量的<
子元素。
站点地图模拟了文件系统。
为每个文件夹添加一个<
元素,并且为每个aspx页面添加一个<
子元素,如此:
Web.sitemap:
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
xmlversion="
1.0"
encoding="
utf-8"
siteMapxmlns="
siteMapNodeurl="
~/Default.aspx"
title="
description="
siteMapNodetitle="
BasicReporting"
url="
~/BasicReporting/Default.aspx"
BasicReportingSamples"
~/BasicReporting/SimpleDisplay.aspx"
SimpleDisplay"
Displaysthecompletecontents
ofadatabasetable."
/>
~/BasicReporting/DeclarativeParams.aspx"
DeclarativeParameters"
Displaysasubsetofthecontents
ofadatabasetableusingparameters."
~/BasicReporting/ProgrammaticParams.aspx"
SettingParameterValues"
Showshowtosetparametervalues
programmatically."
/siteMapNode>
FilteringReports"
~/Filtering/Default.aspx"
SamplesofReportsthatSupportFiltering"
~/Filtering/FilterByDropDownList.aspx"
FilterbyDrop-DownList"
Filterresultsusingadrop-downlist."
~/Filtering/MasterDetailsDetails.aspx"
Master-Details-Details"
Filterresultstwolevelsdown."
~/Filtering/DetailsBySelecting.aspx"
DetailsofSelectedRow"
ShowdetailresultsforaselectediteminaGridView."
CustomizedFormatting"
~/CustomFormatting/Default.aspx"
SamplesofReportsWhoseFormatsareCustomized"
~/CustomFormatting/CustomColors.aspx"
FormatColors"
Formatthegridscolorsbased
ontheunderlyingdata."
siteMapNode
~/CustomFormatting/GridViewTemplateField.aspx"
CustomContentinaGridView"
ShowsusingtheTemplateFieldto
customizethecontentsofafieldinaGridView."
~/CustomFormatting/DetailsViewTemplateField.aspx"
CustomContentinaDetailsView"
ShowsusingtheTemplateFieldtocustomize
thecontentsofafieldinaDetailsView."
~/CustomFormatting/FormView.aspx"
CustomContentinaFormView"
IllustratesusingaFormViewfora
highlycustomizedview."
~/CustomFormatting/SummaryDataInFooter.aspx"
SummaryDatainFooter"
Displaysummarydatainthegridsfooter."
/siteMap>
站点地图定义了这个站点的导航结构,它是层次结构的以便描述站点中各种各样的区域。
在Web.sitemap中的每个<
元素描述了一个站点结构中的一个区域。
图10:
站点地图描述了一个层次的导航结构
A通过DotNET框架中的SiteMap类显示站点地图的结构。
这个类有一个CurrentNode属性,它返回当前用户正在访问的节点的信息;
RootNode属性返回站点地图的根节点信息(在我们的站点地图中是Home)。
CurrentNode呵RootNode属性都返回SiteMapNode实例,SiteMapNode包含ParentNode,ChildNodes,NextSibling,PreviousSibling等属性,这些属性允许站点地图的层次可以被遍历。
步骤4:
利用站点地图显示菜单
在2.0中我们可以像1.x一样,有多种编程方式可以访问数据,还可以通过新的数据源控件访问。
这里有多个内置的数据源控件,比如用来访问关系数据库数据的SqlDataSource控件,用来访问类所提供的数据的ObjectDataSoruce控件等等。
你还可以创建你自己的自定义数据源控件。
数据源控件作为你的aspx页面和底层数据的代理。
为了显示数据源控件查询到的数据,我们要添加其他Web控件到页面上,并且将它和数据源控件绑定。
要绑定一个Web控件到一个数据源控件,只需要简单的设置这个Web控件的DataSourceID属性值为数据源控件的ID属性值。
为了获取站点地图中的数据,提供了SiteMapDataSource控件,它允许我们绑定一个Web控件来显示我们的站点地图。
TreeView和Menu这两个Web控件常常用来提供导航用户界面。
要绑定站点地图中的数据到这两个控件,添加一个SiteMapDataSource控件到页面中,设置TreeView或者Menu控件的DataSourceID属性值为SiteMapDataSource控件的ID属性值就可以了。
举个例子,我们可以用下面这些标记将Menu控件到母板页中:
MenuID="
Menu1"
DataSourceID="
SiteMapDataSource1"
Menu>
SiteMapDataSourceID="
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 创建 母版 站点 导航