利用母版页创建网站需要知道的几点
2011-11-23 12:12
337 查看
1、在创建大型的站点时,常需要创建多层的母版页。可以对母版页进行不限级的嵌套。
MasterPageFile 指定了母版页。
2、在母版页中使用图片和超链接。
在母版页中使用url需要十分小心。根据使用的是html控件和asp.net控件,相对URL会有不同的解析方式。
如果使用ASP.NET控件,相对URL会解析为相对于母版页的URL。
如果使用HTML标签,情况就会完全不同。如果在<img>或<a>之类的HTML标签中使用相对URL,这个相对URL会解析为相对内容页的URL。
为解决html标签中的问题,可以使用asp.net控件或者使用绝对路径(不推荐)
3、在web配置文件中注册母版页
在web配置文件中写的配置母版页信息应用到与web配置文件位于同一文件夹(或其子文件夹)中的所有页面
4、如果想在内容页修改母版页内容,可以使用title,page header属性,暴露母版页属性,对母版页使用FindControl方法 来修改。具体google。
5、动态加载母版页,来修改整个网站的风格。
动态修改一个页面 Dynamic1.master:
web配置文件
如需要对站点中的所有内容都动态加载母版页,最简单的方式时建一个page基类。放在App_Code文件夹中
DynamicMasterPage.cs
创建新的Page基类以后,还需要在web配置中注册它。
<%@ Master Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" CodeFile="SectionProducts.master.cs" Inherits="SectionProducts" %>
MasterPageFile 指定了母版页。
2、在母版页中使用图片和超链接。
在母版页中使用url需要十分小心。根据使用的是html控件和asp.net控件,相对URL会有不同的解析方式。
如果使用ASP.NET控件,相对URL会解析为相对于母版页的URL。
如果使用HTML标签,情况就会完全不同。如果在<img>或<a>之类的HTML标签中使用相对URL,这个相对URL会解析为相对内容页的URL。
为解决html标签中的问题,可以使用asp.net控件或者使用绝对路径(不推荐)
3、在web配置文件中注册母版页
在web配置文件中写的配置母版页信息应用到与web配置文件位于同一文件夹(或其子文件夹)中的所有页面
<configuration> <system.web> <pages masterPageFile="~/SimpleMaster.master"></pages> </system.web> </configuration>
4、如果想在内容页修改母版页内容,可以使用title,page header属性,暴露母版页属性,对母版页使用FindControl方法 来修改。具体google。
5、动态加载母版页,来修改整个网站的风格。
动态修改一个页面 Dynamic1.master:
<%@ Page Language="C#" MasterPageFile="~/Dynamic1.master" %> <script runat="server"> protected void Page_PreInit(object sender, EventArgs e) { if (Request["master"] != null) { switch (Request["master"]) { case "Dynamic1": Profile.MasterPageFile = "Dynamic1.master"; break; case "Dynamic2": Profile.MasterPageFile = "Dynamic2.master"; break; } } MasterPageFile = Profile.MasterPageFile; } </script> <asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server"> Select a Master Page: <ul class="selectMaster"> <li> <a href="DynamicContent.aspx?master=Dynamic1">Dynamic Master 1</a> </li> <li> <a href="DynamicContent.aspx?master=Dynamic2">Dynamic Master 2</a> </li> </ul> </asp:Content>因为母版页的名称赋值给了profile属性,所以用户很久以后再回到此网站,仍然会加载此用户以前使用过的母版页。Profile对象可以在用户多次访问同一个站点时自动维护它的属性,Profile的定义在下边的配置文件中
web配置文件
<system.web> <profile> <properties> <add name="MasterPageFile" defaultValue="Dynamic1.master"/> </properties> </profile> </system.web>
如需要对站点中的所有内容都动态加载母版页,最简单的方式时建一个page基类。放在App_Code文件夹中
DynamicMasterPage.cs
using System; using System.Web.UI; using System.Web.Profile; public class DynamicMasterPage : Page { protected override void OnPreInit(EventArgs e) { this.MasterPageFile = (string)Context.Profile["MasterPageFile"]; base.OnPreInit(e); } }
创建新的Page基类以后,还需要在web配置中注册它。
<configuration> <system.web> <pages pageBaseType="DynamicMasterPage" /> <profile> <properties> <add name="MasterPageFile" defaultValue="Dynamic1.master"/> </properties> </profile> </system.web> </configuration>
相关文章推荐
- 利用母版页创建网站需要知道的几点
- Android开发中一些你需要知道的图片相关知识和网站推荐分享
- 网站开发 你需要知道的几件事
- 网站开发者需要知道的61件事
- 利用SharePoint 2013 创建Service Desk 网站之创建Service Desk网站及表单库!
- 创建一个网站需要的注意点 (自己看的)
- 转载:中国这10家慕课网站,您需要知道!
- 软件开发者需要知道国外技术网站(转)
- 身为java程序员你需要知道的网站(包含书籍,面试题,架构...)
- 你需要知道的Android View的创建
- 利用SharePoint 2013 创建Service Desk 网站之二线工程师问题处理!
- 大型网站的建设与运营需要注意的几点
- (干货)网站运营需要知道的数据
- 利用SharePoint 2013 创建Service Desk 网站之一线工程师处理问题界面!
- 如何知道网站的IP,然后利用IP登陆网站?
- 开发所需要知道的网站
- 利用SusuCMS快速创建网站(二)
- 给网站管理员的建议:创建可利用的、可抓取的网站
- 利用SharePoint 2013 创建Service Desk 网站之分配一线工程师支持!
- APICLoud APP开发上线前 你需要知道这几点?