程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
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個模板選擇器控件來啟動該調用。

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

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

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

這些類的對象之一會根據當前的列表類型(如通知或其它自定義列表類型)和頁面的類型來選取一個RenderingTemplate對象。

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

Mobile_ ListTypeID _ PageType _ PageArea

其中 ListTypeID 可以是當前列表類型的ID號(如105),也可以是SPListTemplateType枚舉的一個值(如Contacts)。有兩種方式來定義一個列表類型ID:

如果列表是作為網站類型的一部分來在Onet.xml站點定義文件中指定的,則 ListTypeID 的值是Onet.xml中List元素的Type屬性值。該文件位於這個目錄下: Local_Drive:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\SITETEMPLATES\Site_Type\xml

如果列表是通過UI添加到網站中的;也就是說,通過新建(列表)頁,則 ListTypeID 為當初用作新列表類型基礎的列表類型的ID。這取決於用戶在創建頁(create.aspx)上的點選,究竟是點擊了哪個列表類型才進到新建頁的。

PageType 可以是 VIEw, NewForm, EditForm, DispForm 或 DeletePage。

PageArea 可以是 Title, Contents或 Navigation。

如果當前列表類型所指定的RenderingTemplate元素的ID沒有找到,則他將使用ID為Mobile_Default_PageType_PageArea的控件。

創建一個包含一個自定義的頁眉(Title),內容主體,或頁腳(導航區域)的mobile列表視圖或窗體頁其實只需要創建一個渲染模板,其ID為對應得頁面區域的模板選擇器控件要搜索的ID。

已有的RenderingTemplate

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

Mobile_Comments_DeletePage_Navigation

Mobile_Comments_VIEw_Navigation

Mobile_DiscussionBoard_DispForm_Contents

Mobile_DiscussionBoard_EditForm_Contents

Mobile_DiscussionBoard_EditForm_Navigation

Mobile_DiscussionBoard_NewForm_Navigation

Mobile_DocumentLibrary_View_Navigation

Mobile_Events_DispForm_Navigation

Mobile_Events_EditForm_Navigation

Mobile_Events_NewForm_Navigation

Mobile_Events_View_Contents

Mobile_Posts_DeletePage_Navigation

Mobile_WebPageLibrary_DispForm_Contents

Mobile_WebPageLibrary_DispForm_Navigation

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

注意:

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

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

Mobile_Default_DeletePage_Contents

Mobile_Default_DeletePage_Navigation

Mobile_Default_DeletePage_Title

Mobile_Default_DispForm_Contents

Mobile_Default_DispForm_Navigation

Mobile_Default_DispForm_Title

Mobile_Default_EditForm_Contents

Mobile_Default_EditForm_Navigation

Mobile_Default_EditForm_Title

Mobile_Default_NewForm_Contents

Mobile_Default_NewForm_Navigation

Mobile_Default_NewForm_Title

Mobile_Default_VIEw_Contents

Mobile_Default_View_Navigation

Mobile_Default_View_Title

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

自定義mobile列表視圖或窗體的一部分

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

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

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

ListTypeID 可以是當前列表類型的ID號(如105),也可以是SPListTemplateType枚舉的一個值(如Contacts)

PageType 可以為 View,NewForm,EditForm, DispForm或DeletePage

PageArea 可以為 Title, Contents或 Navigation

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

示例

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

<SharePoint:RenderingTemplate RunAt="Server" ID="Mobile_104_View_Navigation">
  <Template>
  <mobile:Link RunAt="Server" Text="ASP.NET Website" NavigateUrl="http://www.asp.net" />
  <mobile:Label RunAt="Server" Text="" BreakAfter="True" />
  <SPMobile:SPMobileComponent RunAt="Server" TemplateName="Mobile_Default_View_Navigation" />
  </Template>
</SharePoint:RenderingTemplate>

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