SharePoint2010 建立Application Page(轉)

若是不瞭解什麼是Application Page,能夠參考我之前寫過的這篇文章。SharePoint 2010的頁面模型沒有太多的變化,基本和2007保持一致。對於開發人員而言,爲SharePoint 2010建立一個Application Page,相比2007卻是方便了不少,由於Visual Studio 2010提供了很好的工具支持。 

以下圖所示,開發人員能夠直接在一個SharePoint項目中添加一個Application Page: 
image 

在SharePoint 2010中,自定義Application Page默認仍然是從Microsoft.SharePoint.WebControls.LayoutsPageBase類繼承而來: 
image  

除了在工具上的支持以外,SharePoint 2010的Application Page也已經可使用網站公用的Master Page了,這意味着在設計師爲網站設計了一個自定義的Master Page以後,Application Page也能呈現出與網站內容頁面一致的效果了。 

以下圖所示,經過指定Application Page頁面的<@ Page>標籤中的"DynamicMasterPageFile"屬性(注意不是"MasterPageFile")的值,就能讓Application Page直接使用用戶當前所瀏覽網站的Master Page。 
image  

"DynamicMasterPageFile"屬性的值能夠是: 
■ "~masterurl/default.master":表示將使用SPWeb.MasterUrl屬性所標識的Master Page,默認是網站母板頁樣式庫中的"v4.master"文件。 
■ "~masterurl/custom.master":表示將使用SPWeb.CustomMasterUrl屬性所標識的Master Page,默認它和SPWeb.MasterUrl的值保持一致,都是引用的"v4.master"。 

若是你仍然但願讓Application Page使用"14\templates\_layouts"目錄下的"application.master"或"applicationv4.master",那麼不要使用"DynamicMasterPageFile"屬性,而仍然應該使用"MasterPageFile"屬性。 

雖然經過Application Page的"DynamicMasterPageFile"屬性能讓Application Page使用網站的Master Page,但系統管理員也能夠取消這項設定。在SharePoint 2010管理中心的Web應用程序管理中,經過將下圖所示的選項設置爲「否」,就能讓Application Page不能引用網站的Master Page: 
image 

固然也能夠經過Object Model來完成一樣的操做: 
image  

若是經過上面的這兩個方法,不容許Application Page使用網站的Master Page,同時又在"<@ Page>"中指定了"DynamicMasterPageFile"屬性,那麼Application Page會在"14\templates\layouts"目錄中尋找"v4.master"。 

最後,下面這幾個特殊的Application Page,因爲它們可能須要在任何場合(好比在用戶沒有經過認證的狀況下)下被顯示,因此它們都會使用"simple.master"這個最簡Master Page: 
■ Login.aspx 
■ SignOut.aspx 
■ Error.aspx 
■ ReqAcc.aspx 
■ Confirmation.aspx 
■ WebDeleted.aspx 
■ AccessDenied.aspxapi

相關文章
相關標籤/搜索