站点地图(2)

来源:互联网 发布:医药类数据库有哪些 编辑:程序博客网 时间:2024/04/30 02:21
关 键 词:.NET  ASP  站点  地图
阅读提示:本文中,我们首先简要地介绍了ASP.NET 2.0提供的新的站点导航机制,并注意到这个新的导航功能的核心是通过XML文件来详细描述网站的导航框架。显然,这种新导航机制的强大功能可以大大节省程序员的编码时间。接下来,我们通过一个简单的例子分析了本地化Web.sitemap的一般思路。
【注意】为了在Web.sitemap文件中支持本地化功能,必须使用元素中的enableLocalization属性—把它设置为true,以启动这项功能。接下来,你就可以使用元素定义每个导航节点了。但在本文示例中,由于我们要通过各个独立的.resx文件来定义这些导航部分的内容(尤其是title和descriptioon属性),所以我们不需要在这个文件中重复定义这些项。所以在此文件内,我们只需要定义url属性。但要注意,你还可以通过.resx文件来定义这个属性,从而根据终端用户定义的文件设置,把他们定向到不同的页面上。
另一个要注意的属性是元素中使用的resourceKey,它是各个.resx文件中使用和定义的键。以下面的元素为例:

<siteMapNode url=”News.aspx” resourceKey=”News”>

…………

</siteMapNode>

 

在这个例子中,resourceKey的值(和.resx文件中使用的键)都是News。这表示可以使用下面的语法在.resx文件中定义title和description属性的值:

News.Title

News.Description

 

至此,我们已经准备好站点地图文件Web.sitemap。接下来,我们要对ASP.NET 2.0配置文件Web.config进行一些小小的修改。
三、修改文件Web.config
为了让Web应用程序自动检测和查看各个页面的用户所使用的文件设置,我们需要在文件的@Page指令中设置Culture和UICulture属性,或者在Web.config文件中的元素中设置这些属性,以支持自动检测。
【提示】在处理导航和Web.sitemap文件时,最好在Web.config文件中进行这些修改,使它们在应用程序的每个项目上自动发挥作用。这么做也比较简单,因为不需要给每个页面添加这些修改。
要进行这样的修改,只需打开Web.config文件并添加一个元素,如下面的清单所示。

<configuration>

<system>

<globalization culture=”auto” uiCulture=”auto” />

<system>

<configuration>

 

为了支持自动检测功能,只需把culture和uiCulture属性设置为auto。还可以把其值定义为auto:en-US,它表示支持自动化检测功能,但如果所定义的文件在各个资源文件中未找到,就把en-US用作默认文件。但在本例中,因为我们要定义一组Web.sitemap默认值,所以不需要进行这样做。
接下来,我们需要创建程序集资源文件,以定义Web.sitemap文件使用的值。
四、创建程序集资源文件
要创建一组用于Web.sitemap文件的程序集资源文件,应在项目中创建一个文件夹App_GlobalResources。
【提示】如果你使用的是Visual Studio 2005,则只需要右击项目,然后选择“Add Folder→App_GlobalResources.Folder”即可添加这个文件夹。
添加了App_GlobalResources文件夹后,下一步是给这个文件夹添加两个程序集资源文件:第一个文件命名为Web.sitemap.resx;第二个文件命名为Web.sitemap.en.resx。其中,Web.sitemap.resx文件包含一组在Web.sitemap.resx文件中定义的用于Web.sitemap文件中的默认值,而Web.sitemap.en.resx文件包含了相应于这些值的英语版本。

文件名中有en值,表示该文件由把首选语言设置为en-EN的用户使用。这些设置的其它值如表所示。
.resx文件
对应的文件
Web.sitemap.resx
如果终端用户的文件不能通过另一个.resx文件来识别,则使用默认值
Web.sitemap.en.resx
用于所有英语用户的资源文件
Web.sitemap.en-gb.resx
用于所有英国英语用户的资源文件
Web.sitemap.fr-ca.resx
用于所有加拿大法语用户的资源文件
Web.sitemap.ru.resx
用于所有俄语用户的资源文件
 
有了Web.sitemap.resx文件和Web.sitemap.en.resx文件之后,下面就是给这些文件相应的属性值赋予特定的文化值。为此,我们使用前面在Web.sitemap文件中定义的键,如下图2所示。
 
 
 
图2.中文站点资源文件(Web.sitemap.resx)相应的键定义
 
原创粉丝点击