aspnet20入门经典2(编辑修改稿)内容摘要:
页面是如何获得与 页面相互协作的 3 个功能的呢。 起始标记%@Page… 必须包含 MasterPageFile 属性。 由于可能将这些文件移动到不同的文件夹结构中,可以使 用波浪号 (~)引用 Master页面的位置,这个符号表明 Master 页面位于根目录下。 其次, Content 页面的内容包含在 服务器端控件 asp:Content 中,这个控件的ContentPlaceHolderID属性指示将 Content 页面的内容插入到 Master 页面的什么位置。 再次,因为 HTML 和 XMLNS 标记由 Master 页面引入,所以在 Content 页面中省略了这些标记。 Master 和 Content 页面机制还有其他一些功能,虽然这些功能在 Wrox United 示例站点中没有实现,但是多层次 的 Master 页面可以用于一个最终页面。 根据发出请求的浏览器不同,可以使用不同的 Master 页面。 一个 Master 页面可以支持多个内容占位符。 多层次的 Master 页面 虽然这种技术没有用于 Wrox United 站点,但是页面可以继承多层次的 Master 页面。 这个功能提供了一种显示多层次结构标准内容的方式。 例如,一个名为 的Content 页面可以指定它的 Master 页面为 ,而 又指定它的Master页面为。 最终显示的结果是, 内,而 页面又包含在 内。 这样做的一个问题是用于显示内容的空间将随着层次结构的增加而不断减少。 VWD没有包含用于创建多层次 Master 的自动工具。 事实上,如果包含了多个层次,那么只能在 Source 视图中打开页面。 要创建带有多层次 Master 的页面,必须在中间层页面中包含标记同时指明该页面的Master页面 (上一个层 )和内容占位符 (为 下一层页面提供 )。 回忆一下,在 Master 页面的第一行代码中必须包含 %@master… ,而在低一层的页面或者 Content 页面的第一行代码中必须包含 %@ page masterPageFile=%。 如果是中间页面,它即是 Content 又是 Master,那么第一行的标记必须以 %@master… 开始,同时包含 …masterPageFile=%。 Master 页面包含了一个 asp:ContentPlaceHolder标记,而 Content 页面则包含了一个asp:content标记。 如果是中间层 页面,那么它必须包含一个 asp:content标记,该标记与Master 页面中的 asp:ContentPlaceHolder标记相关联。 然后在这个标记中有一个asp:ContentPlaceHolder标记,该标记用于包含下一层的页面。 下面的示例演示了一个 Corporate Master 页面、一个 Research department Master 页面和最终包含具体内容的。 下面的代码显示了 Corporate页面。 注意它的内容占位符是在阴影部分定义的: %@ Master Language=VB % !DOCTYPE html PUBLIC //W3C//DTD XHTML html xmlns= head runat=server titleCorporateMaster/title /head body Corporation Name form id=form1 runat=server div asp:contentplaceholder id=ContentPlaceHolderCorporate runat=server /asp:contentplaceholder /div /form /body /html 下面的代码演示了 Research department Master 页面。 这个页面最复杂,因为它既是Corporate 页面的 Content 页面,同时也是 Publication 页面的 Master 页面。 注意在第一行代码中, Master 和 MasterPageFile=将该页面设置为 Corporate Master 页面的内容。 然后可以注意到 asp:ContentPlaceHolder将其他页面作为自己的内容 (在这里是 Publication 页面 )。 内容占位符必须全部包含在 asp:content标记之内: %@ Master MasterPageFile=~/ Language=VB % asp:Content runat=server ContentPlaceHolderID=ContentPlaceHolderCorporate Research Department asp:contentplaceholder id=ContentPlaceHolderResearch runat=server /asp:contentplaceholder /asp:Content 下面显示的是 (其中只包含了网页的具体内容 )。 在此只需指定 Master 页面。 这个页面不是 Master 页面,它位于最底层: %@ Page Language=VBMasterPageFile=~/Title=Untitled Page % asp:Content ID=Content1 ContentPlaceHolderID=ContentPlaceHolderResearch Runat=Server Publication text /asp:Content Master 页面支持多个内容占位符 到目前为止,本书的示例在 Master 页面中只使用了一个 asp: ContentPlaceHolder,在Content页面中也只使用了一个 asp:content标记。 支持多个内容占位符。 但是,每个占位符都必须有自己的 ID,如下例所示: %@ Master Language=VB % htmlbody form id=form1 runat=server asp:contentplaceholder runat=server id=TopContent / asp:contentplaceholder runat=server id=MiddleContent / asp:contentplaceholder runat=server id=BottomContent / /form /body/html 接下来就可以将内容包含在 asp:content标记中,这些标记的 ContentPlaceHolderID 值与 Master 页面中的 ID 值相等: %@ Page Language=VBMasterPageFile=~/Title=Untitled Page% asp:Content ID=Content1 ContentPlaceHolderID=TopContent Runat=Server Text to go in Top section /asp:Content asp:Content ID=Content1 ContentPlaceHolderID=MiddleContent Runat=Server Text to go in Middle section /asp:Content asp:Content ID=Content1ContentPlaceHolderID=BottomContentRunat=Server Text to go in Bottom section /asp:Content 将内容分别存放在不同的 asp:ContentPlaceHolder标记中有助于设计和维护 Master 页面的布局。 为了使用 的导航功能,必须有一种标准的方法描述站点中的每个页面。 这个标准不仅包含每个网页的名称,还应该能够表明它们的层次结构关系。 例如,显示球员统计数据的页面应该是显示球员列表页面的子页面,而该页面又是主页的子页面: Home Players Player Statistics 定义这样的层次结构在站点设计中是一个很重要的部分,因为开发人员希望知道 (在开始编写代码之前 )需要开发什么页面、在不同的页面上应给用户提供哪些链接、以及用户在查看了一个特定的页面之后可能会浏览其他什么页面。 画出站点的树型目录,就像上面的简单示例那样,这是必须采取的第一个步骤。 然后可以进行下一个步骤,在代码中定义这个层次结构。 在一个名为 的 XML 文件中包含这些信息。 可以将这个文件作为菜单和导航控件的数据来源,这一内容将在第 3章讨论。 提示: Microsoft在 ,前提是这些数据要遵守。 VWD为 ,该模板中包含了。 但在写作本书的时候,还没有工具可以扫描站点并生成存放在这些标记中的实际数据。 第三方工具将填补这个空隙,但现在必须手动将这些信息输入到。 站点地图必须是一个名为 的 XML 文件,而且位于 Web 应用程序的根目录下。 XML 是一种保存数据的标准,有些类似于数据库,但以一种肉眼可以阅读的文本形式存放数据。 每个数据项保存在一个节点中,其中节点表示站 点的一个页面,包含页面的 URL、标题和描述。 XML 文件以树型结构保存节点,因此 知道哪些页面应看作是某个父页面的子页面。 例如, Corporate Departments 页面应该是显示 Sales、 Research 和 Accounting 各部门详细信息页面的父页面。 该文件中的第一个标记是标准的,用于让 XML 文件标识版本号和XMLNS,如下代码所示: ?xml version= encoding=utf8 ? siteMap xmlns= 这两行代码是由开发人员在 VWD中使用站点地图模板添加该文件时由 VWD自动输入的。 节点的名称很简单: siteMap,该标记包含了多个 siteMapNode标记。 每个标记代表一个网页,而且可以包含以下属性 (siteMapNode标记的所有属性都是字符串 ): ● Title: 描述页面 (这与页面头部的 Title标记没有任何联系,虽然它们的值可以相同 )。 ● URL: 节点中描述的页面位置。 ● Description:该页面的描述。 注意在一个 URL 中可以包含 querystring 数据,这是定义在页面 URL 之后的附加信息,作为页面请求的一部分发送给服务器。 例如,通常引用一个页面的方式应该类似下面的第一行代码,而附带数据引用一个页面 (例如,在日历中显示的月份 )的方式将类似于下面的第三行代码: url= url=?Month=May 站点地图中页面之间的层次结构关系 (父 /子关系 )是通过将子节点包含在父节点的开标记和闭标记之间建立起来 的。 注意在下面的代码中两个子页面(Members 和 Calendar)是如何包含在 Home 页面的开和闭标记 (灰色背景显示 )内的。 缩进只是为了便于阅读;并不会影响实际的层次结构关系。 注意表示子页面(Members 和 Calendar)的标记可以使用单标记形式 Tag„/。 但是由于父页面(Home)拥有子页面 (它包含其他节点 ),因此它必须使用双标记形式Tag„/Tag : siteMap siteMapNode title=Homeurl=description=Home page for MySite siteMapNode title=Membersurl=description=All Members/ siteMapNode title=Calendarurl=description=Club Events/ /siteMapNode /siteMap 为了在 Calendar 节点内创建两个子页面 (Home 页面的子页面 ),需要采取两个步骤。 首先,将表示 Calendar 的 siteMapNode转换成双标记形式,然后在这个标记的内部添加两个子标记,如下面代码的灰色部分所示。 记住,如前所述,必须在 文件的 Source 视图中手动完成输入。 VWD 既没有提供可以执行自动扫描和生成数据的工具,也没有提供从 Solution Explorer 到 文件的拖放功能。 siteMap siteMapNode title=Homeurl=description=Home page for MySite siteMapNode title=Membe。aspnet20入门经典2(编辑修改稿)
相关推荐
(当前目录物理路径: + (.)+br /)。 (上一级目录物理路径: + (..) + br)。 (网站根物理路径: + (/) + br)。 } /script html xmlns= head runat=server titleBrowser 属性 /title /head body form id=form1 runat=server /form /body /html Execute
/ asp:Footer id=MyFooter runat=server / 这三行代码,使用了三个用户控件,这么少的代码大家一眼就可以清楚的看到页面被分为三个部分。 要使用用户控件就必须使用 Register 指令, TagPrefix 属性定义是的一个Namespace 的名字,以保证它在这个页面的唯一性。 TagName 属性是在定义一个类 (class)的别名,由于用户控件执行时是被
pageUrl = (pageUrl, ())。 } else { string queryString =。 if ((queryString)) pageUrl += ? + queryParam + = + ()。 else pageUrl += amp。 + queryParam + = + ()。 } return pageUrl。 } } 在不使用 UrlMapping的情况下
在真实情况中,添加数据是通过应用程序来实现的,但现在仅仅是要添加几个样本数据,所以我将在 MySQL客户端命令中使用 SQL 语句的 insert 语句来实现,如果现在你还在MySQL Administrator 中,那么可以通过菜单 tools来访问命令行( Tools > MySQL Command Line Client),否则可以通过开始菜单的 MySQL 组来访问。
may be called as stimulus or input or sometimes treatment. 3) The dependent variable (依变量 ) Variable the researcher is trying to change in his research. Variable which changes or is influenced
、瞬态分析。 矢量位方法中的每个节点的自由度要比标量位方法多:因为它在 X、 Y 和 Z方向分别具有磁矢量位 AX、 AY、 AZ。 在载压或电路耦合分析中还引入了另外三个自由度:电流 (CURR),电压降 (EMF)和电压 (VOLT)。 2D 静态磁分析必须采用矢 量位方法,此时主自由度只有 AZ。 在矢量位方法中,电流源(电流传导区域)要作为整个有限元模型的一部分。 由于它的节点自由度更多