北大青鳥的ASP.NET視頻中都是通過更改屬性"PageLayout"為Flowlayout(流式布局) or 更改屬性"PageLayout"為GridLayout(網格布局)來改變頁面的布局。→這是vs2003中對頁面進行設定的方法。 而我在VS2010中卻沒找到PageLayout屬性,有些奇怪!使用VS2005甚至更高版本的你,有沒有對PageLayout的消失感到懷疑呢?不要著急,下面我來簡單的對PageLayout這一屬性進行分析,還請高手指點,不勝感激喔!
一。首先介紹一下PageLayout屬性,PageLayout屬性存在於Visual Studio .NET 2003中,在後來的版本如VS2005、VS2008、VS2010中由於取消了絕對位置,預設情況下支援的頁面配置方式是流式布局頁面,也就不再使用PageLayout屬性了。下面是我結合MSDN對PageLayout屬性,進行了簡單敘述……
MSDN中對VS2003 PageLayout屬性介紹
PageLayout屬性設定當前HTML文檔的元素定位喜好設定,即頁面配置模型。可用於該屬性的值有:
- GridLayout:絕對位置屬性插入到添加的元素中並在移動的元素中更新。可在整個"設計"視圖表面上拖動元素。可使用定位網格和"網格線對齊".→絕對位置,網格布局
- FlowLayout:元素不帶絕對位置屬性添加。Web瀏覽器按元素在頁上出現的順序從上到下排列元素。不能在"設計"視圖表面上拖動元素或者使用定位網格。→流式布局
更改PageLayout屬性: 可從"屬性"視窗或"DOCUMENT屬性頁面"對話方塊設定PageLayout屬性。 對於在Visual Basic .NET或Visual C# Web 應用程式中建立的新HTML頁和Web表單,PageLayout屬性預設值是"GridLayout".在Visual Studio .NET中將PageLayout屬性設定為"GridLayout"會將ms_positioning屬性插入到HTML文檔的<BODY>元素中:
<BODY ms_positioning="GridLayout">
|
將PageLayout屬性值重設為"FlowLayout",則會移除ms_positioning屬性: |
對於添加到"空Web項目"的HTML頁和Web表單,PageLayout屬性預設值是"FlowLayout".當將現有的HTML文檔添加到Visual Studio .NET解決方案或項目,並且它的<BODY>元素不包括ms_positioning="GridLayout"屬性時,HTML設計器開啟該文檔以進行編輯並將其PageLayout屬性設定為"FlowLayout"。 如果將PageLayout屬性值設定為GridLayout時,則可以將ShowGrid屬性設定為True並顯示"設計"視圖定位網格。如果在"HTML設計器"選項對話方塊的"顯示"中啟用了"網格線對齊",它將被啟用。當釋放滑鼠時,在"設計"視圖表面上拖動的元素將自動與最近的定位網格線對齊。 當HTML元素在"設計"視圖表面上重新置放時,它的定位屬性在標記中自動調整。使用"HTML"視圖對特定元素的定位屬性進行細微的調整。
注意:切換視圖可重新格式化標記。
附:設定 HTML 文檔的 pageLayout
屬性
二。這裡簡單分析一下GridLayout和FlowLayout的區別: GridLayout絕對位置,控制項可在其頁面上任意拖放布局,但產生頁面有可能某些控制項會被其他控制項蓋住。 FlowLayout相當定位,控制項布局困難,但會因內容而自己變換位置,不會出現蓋住別的控制項的情況。可兩者結合使用來布局。個人不推薦VS自身的布局,可以借用其他工具,比如DW來排版布局,然後再匯入VS中使用。
三。PageLayout像變戲法一樣,在VS2005到VS2008、VS2010版本中消失了,隨著版本的升級,軟體應該本著為人民服務的宗旨,在不改變人們需求的基礎上,添加新的功能。所以呀,在VS2005之後的版本中,想用原來的絕對位置方式來拖曳控制項是可以實現的,具體怎麼實現,試試下面的這兩種方案吧……
菜單→工具-->選項→HTML設計器→CSS樣式→將"對於使用工具箱、粘貼或拖放操作添加的控制項,將定位方式更改為絕對位置(P)"<
選中>
菜單→工具→選項→Windows表單設計器→LayoutMode屬性設定成SnapToGrid。 然後重新啟動VS,然後開啟項目!
怎麼樣,讓你對頁面想採用什麼方式設計就怎麼去設計,還等什麼,快去設計屬於自己的優美頁面吧!