站點地圖(2)

關 鍵 詞:.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)相應的鍵定義
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章