程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> 關於.NET >> WSS3SDK之如何自定義Mobile主頁

WSS3SDK之如何自定義Mobile主頁

編輯:關於.NET

本節提供了關於定制mobile設備所訪問的Windows SharePoint Services 3.0主頁的基本過程概述。詳細的步驟參加後面的演練文章。

正如先前在Mobile頁面渲染機制一節所描述的,在mobile主頁的頁眉,內容區,頁腳(導航區)中的每個控件都會導致一條鏈式調用,分別通過以下3個模板選擇器控件來啟動該調用。

SPMobileWebTitle — 選擇用於渲染頁眉部分的RenderingTemplate控件。

SPMobileWebContents — 選擇用於主干部分的 RenderingTemplate 控件。

SPMobileWebNavigation — 選擇用於頁腳部分的 RenderingTemplate 控件。

這些類的對象之一會根據所請求頁面的站點類型(如STS,BLOG或者自定義站點)來選取一個RenderingTemplate對象。也就是說您 可以為特定類型的網站定制mobile的主頁。舉個例子,您可以顯示一個問候信息在所有的STS類型的站點的mobile主頁上。

注意:

MPS,CENTERALADMIN和WIKI網站不支持從mobile設備訪問。

這些控件會搜尋下列格式的RenderingTemplate ID:

Mobile_ SiteTypeID _HomePage_ PageArea

其中 SiteTypeID 可以是 STS 、 BLOG 或一個自定義站點定義的ID號,而 PageArea 指定了 Title, Contents, 或 Navigation 來代表待渲染頁面中的區域。

基於當前網站的類型,SPMobileWebTitle控件決定了哪個RenderingTemplate對象將渲染到mobile主頁的頁眉區域。比如,SPMobileWebTitle對象將嘗試使用ID為Mobile_STS_HomePage_Title的渲染控件來在mobile設備上渲染一個STS主頁。如果沒有找到這麼一個ID,則他將使用ID為Mobile_Defaut_HomePage_Title的控件。

Windows SharePoint Services 3.0默認沒有提供ID為Mobile_STS_HomePage_Title的RenderingTemplate元素,您可以創建一個。

在這種渲染機制下,創建一個包含一個自定義的頁眉(Title),內容主體,或頁腳(導航區域)的mobile主頁其實就是創建一個渲染模板,其ID為對應得頁面區域的模板選擇器控件要搜索的ID。

已有的RenderingTemplate

當WSS安裝好後,下列的兩個用於mobile主頁的RenderingTemplates已經存在於MobileDefaultTemplates.ascx中。

Mobile_BLOG_HomePage_Navigation

Mobile_STS_HomePage_Contents

您不應修改該 MobileDefaultTemplates.ascx 文件。您可以創建一個新的RenderingTemplate元素(在您自己的.ascx文件中),只有使用與已存在的渲染控件相同的ID即可。但是,這麼做將會存在風險,可能會破壞其他部署在WSS中的依賴原來的RenderingTemplate對象的解決方案。

注意:

Windows SharePoint Services 3.0自帶的渲染控件會在自定義控件前先載入,所以當存在相同ID的自定義控件時,該控件模板的載入將覆蓋原有的控件。如果有兩個或更多的自定義控件模板 具有相同的ID,則文件名字母順序排列在後面的將覆蓋所有其他的。如果指定的文件中包含兩個或更多的相同ID的渲染模板,則他們都將不被載入。

下列RenderingTemplate 對象也是定義在 MobileDefaultTemplates.ascx 文件中。如果運行時沒有找到為當前站點類型定義的渲染模板,則會使用這些模板。如果您新建的 RenderingTemplate 對象使用這些 ID 上面提到的風險也是存在的。

Mobile_Default_HomePage_Contents

Mobile_Default_HomePage_Navigation

Mobile_Default_HomePage_Title

您可以嵌套 RenderingTemplate 對象。參見下面的示例。

自定義mobile主頁中中的一部分

在 Microsoft Visual Studio, Notepad, 或任何文本編輯器中,新建一個用戶控件文件(.ascx),放在路徑 \Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\CONTROLTEMPLATES下。

在文件中添加若干page標記來注冊和引用相應的命名空間。

添加一個渲染控件到 .ascx 文件,采用這樣格式的ID:Mobile_SiteTypeID_HomePage_PageArea.

SiteTypeID 可以是STS, BLOG, 或任何自定義站點定義的ID號。(站點定義的ID是在WebTemp.xml文件的Template元素的ID屬性中指定的)。

PageArea 可以是 Title, Contents或 Navigation.

保存該 .ascx 文件並重新啟動IIS,使更改生效。

示例

下面的例子展示了一個 RenderingTemplate 定義,其中還嵌套了另一個RenderingTemplate 。

<SharePoint:RenderingTemplate ID="Mobile_STS_HomePage_Navigation" RunAt="Server">
<Template>
<mobile:Link Text="Microsoft" NavigateUrl="http://www.microsoft.com/" RunAt="Server" />
<SPMobile:SPMobileComponent TemplateName="Mobile_Default_HomePage_Navigation" RunAt="Server" />
</Template>
</SharePoint:RenderingTemplate>

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved