日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

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

 悟靜 2013-02-08

1、在創(chuàng)建大型的站點(diǎn)時(shí),常需要?jiǎng)?chuàng)建多層的母版頁??梢詫?duì)母版頁進(jìn)行不限級(jí)的嵌套。

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

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

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

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

如果使用HTML標(biāo)簽,情況就會(huì)完全不同。如果在<img>或<a>之類的HTML標(biāo)簽中使用相對(duì)URL,這個(gè)相對(duì)URL會(huì)解析為相對(duì)內(nèi)容頁的URL。

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

3、在web配置文件中注冊(cè)母版頁

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

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

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

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

 動(dòng)態(tài)修改一個(gè)頁面 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>  
因?yàn)槟赴骓摰拿Q賦值給了profile屬性,所以用戶很久以后再回到此網(wǎng)站,仍然會(huì)加載此用戶以前使用過的母版頁。Profile對(duì)象可以在用戶多次訪問同一個(gè)站點(diǎn)時(shí)自動(dòng)維護(hù)它的屬性,Profile的定義在下邊的配置文件中

web配置文件

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


如需要對(duì)站點(diǎn)中的所有內(nèi)容都動(dòng)態(tài)加載母版頁,最簡(jiǎn)單的方式時(shí)建一個(gè)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配置中注冊(cè)它。

  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>  

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

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多