小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

利用母版頁創(chuàng)建網(wǎng)站需要知道的幾點

 悟靜 2013-02-08

1、在創(chuàng)建大型的站點時,常需要創(chuàng)建多層的母版頁。可以對母版頁進行不限級的嵌套。

<%@ Master Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" CodeFile="SectionProducts.master.cs" Inherits="SectionProducts" %>
MasterPageFile 指定了母版頁。

2、在母版頁中使用圖片和超鏈接。

 在母版頁中使用url需要十分小心。根據(jù)使用的是html控件和asp.net控件,相對URL會有不同的解析方式。

如果使用ASP.NET控件,相對URL會解析為相對于母版頁的URL。

如果使用HTML標簽,情況就會完全不同。如果在<img>或<a>之類的HTML標簽中使用相對URL,這個相對URL會解析為相對內容頁的URL。

為解決html標簽中的問題,可以使用asp.net控件或者使用絕對路徑(不推薦)

3、在web配置文件中注冊母版頁

在web配置文件中寫的配置母版頁信息應用到與web配置文件位于同一文件夾(或其子文件夾)中的所有頁面

[csharp] view plaincopy
  1. <configuration>  
  2.     <system.web>        
  3.         <pages masterPageFile="~/SimpleMaster.master"></pages>  
  4.     </system.web>  
  5. </configuration>  

4、如果想在內容頁修改母版頁內容,可以使用title,page header屬性,暴露母版頁屬性,對母版頁使用FindControl方法 來修改。具體google。

5、動態(tài)加載母版頁,來修改整個網(wǎng)站的風格。

 動態(tài)修改一個頁面 Dynamic1.master:

  1. <%@ Page Language="C#" MasterPageFile="~/Dynamic1.master" %>  
  2. <script runat="server">  
  3.   
  4.     protected void Page_PreInit(object sender, EventArgs e)  
  5.     {  
  6.         if (Request["master"] != null)  
  7.         {  
  8.             switch (Request["master"])  
  9.             {  
  10.                 case "Dynamic1":  
  11.                     Profile.MasterPageFile = "Dynamic1.master";  
  12.                     break;  
  13.                 case "Dynamic2":  
  14.                     Profile.MasterPageFile = "Dynamic2.master";  
  15.                     break;  
  16.             }  
  17.         }  
  18.           
  19.         MasterPageFile = Profile.MasterPageFile;  
  20.     }  
  21. </script>  
  22.   
  23. <asp:Content   
  24.     ID="Content1"   
  25.     ContentPlaceHolderID="ContentPlaceHolder1"   
  26.     Runat="Server">  
  27.   
  28.     Select a Master Page:  
  29.     <ul class="selectMaster">  
  30.         <li>  
  31.         <a href="DynamicContent.aspx?master=Dynamic1">Dynamic Master 1</a>  
  32.         </li>  
  33.         <li>  
  34.         <a href="DynamicContent.aspx?master=Dynamic2">Dynamic Master 2</a>  
  35.         </li>  
  36.     </ul>          
  37.              
  38. </asp:Content>  
因為母版頁的名稱賦值給了profile屬性,所以用戶很久以后再回到此網(wǎng)站,仍然會加載此用戶以前使用過的母版頁。Profile對象可以在用戶多次訪問同一個站點時自動維護它的屬性,Profile的定義在下邊的配置文件中

web配置文件

  1. <system.web>  
  2.    <profile>  
  3.      <properties>  
  4.     <add name="MasterPageFile" defaultValue="Dynamic1.master"/>  
  5.      </properties>  
  6.    </profile>  
  7. </system.web>  


如需要對站點中的所有內容都動態(tài)加載母版頁,最簡單的方式時建一個page基類。放在App_Code文件夾中

DynamicMasterPage.cs

[csharp] view plaincopy
  1. using System;  
  2. using System.Web.UI;  
  3. using System.Web.Profile;  
  4.   
  5. public class DynamicMasterPage : Page  
  6. {  
  7.   
  8.     protected override void OnPreInit(EventArgs e)  
  9.     {  
  10.         this.MasterPageFile = (string)Context.Profile["MasterPageFile"];  
  11.         base.OnPreInit(e);  
  12.     }  
  13.   
  14. }  

創(chuàng)建新的Page基類以后,還需要在web配置中注冊它。

  1. <configuration>  
  2.   <system.web>  
  3.       <pages pageBaseType="DynamicMasterPage" />  
  4.         <profile>  
  5.       <properties>  
  6.         <add name="MasterPageFile" defaultValue="Dynamic1.master"/>  
  7.       </properties>  
  8.        </profile>  
  9.   </system.web>  
  10. </configuration>  

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內容均由用戶發(fā)布,不代表本站觀點。請注意甄別內容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內容,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多