2010-09-01 48 views
3

我想爲我已經開發的項目創建一個母版頁。由於項目包含很多表單,所以在每個表單中包含母版頁是非常困難的......是否有任何可能將母版頁包含在任何其他簡單的方法...母版頁菜單

請給一些建議..

在此先感謝...

回答

1

據我所知,有沒有簡單的方法來做到這一點。

你必須母版手動添加到頁面指令

<%@ Page MasterPageFile="~/Masterpage.master" ... %> 

周圍添加您的網頁中的相關內容章節標記:

<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" runat="server"> 
</asp:Content> 

,並從每個頁面中刪除<html>, <head>, <body> and <form>標籤。


更新

Here是一篇文章(和源代碼)鮑勃·鮑威爾描述的方式來自動轉換HTML文件ASPX文件,並添加母版頁。我相信你可以適應你的需求。

0

這個過渡並不容易,如@geoff所示。如果你有足夠的時間和耐心,這是可能的。第一步是採取所有常見元素(佈局,菜單,頁眉,頁腳,任何常見的)並開發主頁面結構。根據應用程序中表單的不同佈局,您可能需要超過1個。爲這些常見部分中的每一個開發一個用戶控件,並確保母版頁使用這些控件。然後系統地瀏覽您網站的每個頁面並開始實施母版頁。

作爲一種輔助機制,您也可能希望擁有一個能夠通過主頁面與所包含的用戶控件進行通信的頁面基類。在我們的組中,我們有一個標準,用於在UserControls和MasterPages上設置名爲ParentForm的屬性,該屬性是我們的主基本頁類的類型,並且此屬性在任何頁面或控件的Init期間設置,以便開發人員在任何時候訪問(通過Intellisense)自行分頁。這是特別有用的,因爲大多數控件的父級是一個容器,其父母是一個容器,父母......你明白了。對於我們的控制,它只是this.ParentForm

這將是一個漫長的過程,但MasterPages真的打算成爲一個「基礎」的架構決策,而不是「僱用後期」的概念。