您所在的位置: 首页 > 开发 > .Net >

在ASP.NET 2.0开发中实现站点地图的本地化(1)

http://developer.51cto.com  2007-01-23 13:27  朱先忠  51CTO.com  我要评论(0)
  • 摘要:本文中,我们首先简要地介绍了ASP.NET 2.0提供的新的站点导航机制,并注意到这个新的导航功能的核心是通过XML文件来详细描述网站的导航框架。显然,这种新导航机制的强大功能可以大大节省程序员的编码时间。接下来,我们通过一个简单的例子分析了本地化Web.sitemap的一般思路。
  • 标签:.NET  ASP  站点  地图

【51CTO.com独家特稿】一、基于XML的站点地图

以前在Web应用程序中建立导航的方法是在页面上散布大量的超级链接。但当开发大型Web工程时,这种简单而原始的方法显得极为臃肿而且力不从心。为此,ASP.NET 2.0引入了一个新的导航系统来解决整个问题。尽管ASP.NET中的这个新功能非常复杂,但是我们可以从其提供的大量方法属性对之进行全面控制。

这种新的导航系统通过一个XML文件来定义整个站点的导航系统;为此,该XML文件称为“站点地图”。在本文中,我们想略过有关这种基于XML的站点地图的基本讨论(注:本文提供了两个示例工程,其中之一即是有关基于XML显示站点地图),而专注于讨论这种新的站点导航机制的本地化问题,并提供一个简单但完整的示例工程。

通过修改资源文件(.resx)来实现系统的本地化,是实现从桌面应用到ASP.NET应用程序开发的本地化的一种好方法。下面,我们将详细讨论这种方法。

二、为本地化构建站点地图—Web.sitemap文件

可以把本地化指令应用于ASP.NET Web应用程序的页面上,也可以使用相同的思路在Web.sitemap文件中完成本地化任务。

右击“解决方案资源管理器→添加新项…”,在随后的“添加新项”对话框中点选“站点地图”模板,如下图所示:

 

1.通过点选“站点地图”模板创建站点地图文件

为此,我们应该先构建一个Web.sitemap文件,请见下面的程序清单:

<?xml version="1.0" encoding="utf-8" ?>
<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0"
enableLocalization="true">
<siteMapNode title="Home" description="Home" url="~/default.aspx" resourceKey="Home">
<siteMapNode title="Products" description="Our products"
url="~/Products.aspx" resourceKey="Products">
<siteMapNode title="Hardware" description="Hardware choices"
url="~/Hardware.aspx"  resourceKey="Hardware"/>
<siteMapNode title="Software" description="Software choices"
url="~/Software.aspx"  resourceKey="Software"/>
</siteMapNode>
<siteMapNode title="Services" description="Services we offer"
url="~/Services.aspx" resourceKey="Services">
<siteMapNode title="Training" description="Training classes"
url="~/Training.aspx"  resourceKey="Training"/>
<siteMapNode title="Consulting" description="Consulting services"
url="~/Consulting.aspx"  resourceKey="Consulting"/>
<siteMapNode title="Support" description="Supports plans"
url="~/Support.aspx"  resourceKey="Support"/>
</siteMapNode>
</siteMapNode>
</siteMap>

这是一个相当简单的Web.sitemap文件。

【注意】尽管Web.sitemap文件可以引用其他站点地图提供程序或其他目录中的其他站点地图文件以及同一应用程序中的其他站点地图文件,但该文件必须位于应用程序的根目录中。

实现自定义的站点地图提供程序时,如果存储站点地图数据的文件的扩展名不是.sitemap,就会有潜在的安全风险。默认情况下,会将ASP.NET配置为阻止客户端下载具有已知文件扩展名(如.sitemap)的文件。为帮助保护您的数据,可将文件扩展名不是.sitemap的所有自定义站点地图数据文件放入App_Data文件夹中。


共4页: 1 [2] [3] [4] 下一页
【内容导航】
ASP.NET视频教程
ASP.NET MVC框架视频教程
专题:ASP.NET 2.0基础开发指南
.NET移动与嵌入式技术专题
.NET Framework新手入门专题
 
 验证码: (点击刷新验证码)   匿名发表
  • 亮剑.NET. 图解C#开发实战

  • 作者:李新峰 付志涛 缪勇
  • 本书采用全新的图解思路,分3篇介绍使用微软C#语言开发实际应用程序的基本知识。第1篇包括10章,介绍了C#语言的基础知识,主要..
Copyright©2005-2009 51CTO.COM 版权所有