站点地图与母板页(转载)
2009-12-24 16:02
155 查看
步骤1:创建母板页
要创建一个母板页,用右键点击管理器中的项目名称并选择添加新项。然后从模板列表窗口中选择母板类型并且命名为Site.master。添加一个母板页到站点中,在母板页中定义站点统一的页面布局。你可以用设计视图定义你需要的布局或者控件,你还可以手动的在代码视图中添加标记,然后调用外部的样式表进行定义。
母板页中可编辑区域是通过ContentPlaceHolder控件显示,一个母板页中是可以包含多个ContentPlaceHolder控件。
步骤2:给站点添加一个主页
在解决方案管理器中右键点击项目名称并且选择添加新建项目。从模板列表中选择WebForm选项并且命名为Default.aspx。并且,勾上“选择母板页”的复选框。
点击确定按钮后,选择一个母板页。
选择母板页后,新建的aspx会包含下面这些标记:
@Page里可以设定Title属性。
切换到设计视图我们会看到我们的页面将在浏览器中的显示效果。注意:在设计视图里,aspx页面的内容只有可编辑区域可以被修改,在母板页定义的非ContentPlaceHolder部分标记被显示成灰色。
第三步:添加站点地图
要创建站点地图,在解决方案管理器里右键点击项目名称,选择添加新项,然后选择站点地图类型。命名为Web.sitemap然后单击添加按钮。
站点地图文件是一个xml文件。注意:VisualStudio可以为站点地图结构提供智能感知。站点地图文件必须含有<siteMap>作为根节点,它必须至少含有一个<siteMapNode>子节点。这个<siteMapNode>元素又可以包含任意数量的<siteMapNode>子元素。
步骤4:利用站点地图显示菜单
为了获取站点地图中的数据,提供了SiteMapDataSource控件,它允许我们绑定一个Web控件来显示我们的站点地图。
TreeView和Menu这两个Web控件常常用来提供导航用户界面。要绑定站点地图中的数据到这两个控件,添加一个SiteMapDataSource控件到页面中,设置TreeView或者Menu控件的DataSourceID属性值为SiteMapDataSource控件的ID属性值就可以了。
为了生成优化的HTML,我们可以绑定SiteMapDataSource控件到Repeater控件。
两个repeater代码如下:
可以用Css定义菜单样式。
最后关掉视图状态,设置Repeater控件的EnableViewState为false可以减少页面的视图状态。这样能精简很多代码。
步骤5:添加breadcrumb导航
添加一个breadcrumb导航在asp.net2.0中是简单的,只要添加一个SiteMapPath控件到页面上就可以了;不需要更多的代码。
【总结】
初看.net的母板和原来里的母板还是挺像的,但是老实说,Dw里的母板我从来没用过。.net的模板还是挺有用的。特别是在有大批代码的环境下,母板的合理应用能让视觉和条理上清晰很多,需要修改的时候也能减少很多工作。Web.sitemap能够整理站点页面布局和导航机制,方便网站导航上的调用。
要创建一个母板页,用右键点击管理器中的项目名称并选择添加新项。然后从模板列表窗口中选择母板类型并且命名为Site.master。添加一个母板页到站点中,在母板页中定义站点统一的页面布局。你可以用设计视图定义你需要的布局或者控件,你还可以手动的在代码视图中添加标记,然后调用外部的样式表进行定义。
母板页中可编辑区域是通过ContentPlaceHolder控件显示,一个母板页中是可以包含多个ContentPlaceHolder控件。
步骤2:给站点添加一个主页
在解决方案管理器中右键点击项目名称并且选择添加新建项目。从模板列表中选择WebForm选项并且命名为Default.aspx。并且,勾上“选择母板页”的复选框。
点击确定按钮后,选择一个母板页。
选择母板页后,新建的aspx会包含下面这些标记:
Default.aspx<%...@PageLanguage="C#"MasterPageFile="~/Site.master"AutoEventWireup="true"CodeFile= "Default.aspx.cs"Inherits="_Default"Title="UntitledPage"%><asp:ContentID="Content1"ContentPlaceHolderID="MainContent"Runat="Server"></asp:Content>
@Page里可以设定Title属性。
切换到设计视图我们会看到我们的页面将在浏览器中的显示效果。注意:在设计视图里,aspx页面的内容只有可编辑区域可以被修改,在母板页定义的非ContentPlaceHolder部分标记被显示成灰色。
第三步:添加站点地图
要创建站点地图,在解决方案管理器里右键点击项目名称,选择添加新项,然后选择站点地图类型。命名为Web.sitemap然后单击添加按钮。
站点地图文件是一个xml文件。注意:VisualStudio可以为站点地图结构提供智能感知。站点地图文件必须含有<siteMap>作为根节点,它必须至少含有一个<siteMapNode>子节点。这个<siteMapNode>元素又可以包含任意数量的<siteMapNode>子元素。
步骤4:利用站点地图显示菜单
为了获取站点地图中的数据,提供了SiteMapDataSource控件,它允许我们绑定一个Web控件来显示我们的站点地图。
TreeView和Menu这两个Web控件常常用来提供导航用户界面。要绑定站点地图中的数据到这两个控件,添加一个SiteMapDataSource控件到页面中,设置TreeView或者Menu控件的DataSourceID属性值为SiteMapDataSource控件的ID属性值就可以了。
为了生成优化的HTML,我们可以绑定SiteMapDataSource控件到Repeater控件。
两个repeater代码如下:
<asp:Repeaterrunat="server"ID="menu"DataSourceID="SiteMapDataSource1"><ItemTemplate><li><asp:HyperLinkrunat="server"NavigateUrl="<%#Eval%>"><%......#Eval%></asp:HyperLink><asp:Repeaterrunat="server"DataSource="<%#Container.DataItem).ChildNodes%>"><HeaderTemplate><ul></HeaderTemplate><ItemTemplate><li><asp:HyperLinkrunat="server"NavigateUrl="<%#Eval%>"><%......#Eval%></asp:HyperLink></li></ItemTemplate><FooterTemplate></ul></FooterTemplate></asp:Repeater></li></ItemTemplate></asp:Repeater>
可以用Css定义菜单样式。
最后关掉视图状态,设置Repeater控件的EnableViewState为false可以减少页面的视图状态。这样能精简很多代码。
步骤5:添加breadcrumb导航
添加一个breadcrumb导航在asp.net2.0中是简单的,只要添加一个SiteMapPath控件到页面上就可以了;不需要更多的代码。
【总结】
初看.net的母板和原来里的母板还是挺像的,但是老实说,Dw里的母板我从来没用过。.net的模板还是挺有用的。特别是在有大批代码的环境下,母板的合理应用能让视觉和条理上清晰很多,需要修改的时候也能减少很多工作。Web.sitemap能够整理站点页面布局和导航机制,方便网站导航上的调用。
相关文章推荐
- mojoportal中登录,站点地图等页面的特别配置(转载)
- 转载 Android计算地图上两点距离
- 修改注册表添加信任站点及启用Activex控件(转载)
- 魔兽争霸的地图验证漏洞和作弊图原理,兼谈魔兽联机机制[转载]
- 一个站点地图(导航)教程
- Dynamics CRM2016 站点地图Bug之KnowledgeArticle不显示
- 电子地图 洗牌中谋求产业突破【转载】
- 【转载】ASP.NET网站问题:删除或重命名站点下的任意目录导致站点重启(Session丢失)及解决办法
- ASP.NET2.0数据操作之母板页和站点导航
- asp.net SiteMapPath 面包屑导航 web.config 配置多个站点地图
- ArcGIS 10研究(四)Desktop之地图浏览 转载
- 控件(四)——TreeView控件以SiteMapdataSource控件为数据源实现最简单的站点地图
- 经过半年努力,红帆iOffice.net站点获得谷歌提供的网站地图(sitelinks)
- wordpress非插件实现创建html以及xml格式的站点地图(sitemap)
- 重新过一遍ASP.NET 2.0(C#)(3) - SiteMap(站点地图)
- 转载:免费离线地图下载器 Mobile Atlas Creator简介
- 【转载】nginx+php使用open_basedir限制站点目录防止跨站
- GIS理论(墨卡托投影、地理坐标系、地面分辨率、地图比例尺、Bing Maps Tile System)【转载】
- Axure学习笔记(一)快捷键与站点地图
- 【转载】Python Web 框架: 使用 TurboGears 和 Python 开发 Web 站点