zoukankan      html  css  js  c++  java
  • ASP.net

        在Global.asax中导入命名空间
            <%@Global   ...
            <%@Import   Namespace= "System.Data "   %>
            <%@Import   Namespace= "System.Data.SqlClient "   %>
            ...

        MasterPage

        MasterPage是一种模板,它可以让你快速的建立相同页面布局而内部不同的网页,如果一个网站有多个MasterPage,那么新建aspx文件的时候就可以选择需要实现页面布局的MasterPage,子页面以控件的形式存在于模板中。
        contentplaceholder(内容占位符)的作用就是去“霸占”一个地方,而这个最终显示的,不是contentplaceholder,而是使用了master模板的Content。
        内容页就是用于替换母版页中的ContentPlaceHolder的ASP.NET页面,.aspx扩展名。
       
        使用:
            1.在WebSite中添加一个名字叫MasterPage.master的MasterPage
            2.创建一个aspx页面,注意创建的时候一定要勾上Select master page,则在该页面中便实现了对模板页面的引用.
       
        母版页与用户控件(User Control) 类似,主要的不同点有:
            (1)母版页的扩展名为.master,如Default.master。该扩展名和 System.Web.HttpForbiddenHandler 相关联,因此客户端浏览器不能直接访问到母版页。
            (2)母版页由@Master指令标记,不含有@Page或@Control指令。@Master中包含的指令和@Control中包含的指令基本相同。
                @Master指令
                <%@ Master Language="C#" CodeFile="MasterPage.master.cs" Inherits="MasterPage" %>
            (3)母版页可以包含若干个ContentPlaceHolder控件。这些占位符控件定义了内容页(Content Page)的位置,并被内容页覆盖。
       
        母版页和内容页的组合及运行行为:
            2.1 URL
                前面已经说过,不能直接获取母版页,如:http://202.119.192.211/Example.master 这样的请求是不正确的。应该使用内容页的URL来请求某个页面。
            2.2 合并
                经过编译的母版页将被合并到内容页的控件树中,Content控件中的内容合并到相应的ContentPlaceHolder控件中。
                母版页是内容页的一部分,就和用户控件的行为相同。他们的关系是这样的:内容页是母版页的容器,母版页又是一个的容器,包含了内容页中相应Content中的控件。
            2.3 初始化次序
                (1)母版页-Init
                (2)内容页-Init
                (3)内容页-Load
                (4)母版页-Load
                (5)内容页-PreRender
                (6)母版页-PreRender
            2.4 页面执行环境及URL转换
                母版页和内容页合并后,页面的执行环境为内容页的环境,这样会不会导致母版页中资源引用或相对URL出现错误呢?对于服务器控件,ASP.NET可以自动解决这个问题,比如母版页上的一个Image控件,其ImageUrl为相对 URL:“images/banner.gif”,当母版页和内容页组合时,ASP.NET将其转换为合适的URL。对于非服务器控件或标记,如<IMG>,ASP.NET将不做任何转换,因此,在母版页中,应该尽量使用服务器控件。
            3 动态引用母版页
                内容页中可以动态地引用母版页,通常在PreInit中设置需要使用的母版页。如下:
                protected void Page_PreInit(object sender, EventArgs e)
                {
                    this.MasterPageFile = "~/Example.master";
                }
            4 获取母版页上的控件
                运行时,母版页和内容页合并了,因此可以访问母版页上的控件。可以使用FindControl方法来定位母版页上的控件。如果要访问 ContentPlaceHolder中的控件,需要先获取ContentPlaceHolder控件的引用,然后再调用其FindControl方法。也就是说需要两次调用FindControl方法。
                另外一种方法是在母版页中公开属性来进行访问。
            5 嵌套母版页

                子母版页也包含文件扩展名 .master。子母版页通常会包含一些内容控件,这些控件将映射到父母版页上的内容占位符。就这方面而言,子母版页的布局方式与所有内容页类似。但是,子母版页还有自已的内容占位符,可用于显示其子页提供的内容。

               

  • 相关阅读:
    Mac下Selenium无法最大化Chrome解决方案
    Mac环境配置好ant后提示Permission denied
    禁止Chrome浏览器自动升级
    Selenium滚动条window.scrollTo和window.scrollBy
    Windows和Linux如何使用Java代码实现关闭进程
    自动化测试框架Selenium工作原理
    Mac下用SSH连接远程Linux或Mac服务器
    mac显示隐藏文件
    Selenium自动化测试脚本中三种等待时间简介
    Java虚拟机之栈
  • 原文地址:https://www.cnblogs.com/dongzhiquan/p/1994604.html
Copyright © 2011-2022 走看看