母版页和布局页

来源:互联网 发布:asp显示数据库内容 编辑:程序博客网 时间:2024/05/22 10:35

  母版页存在于Asp.Net Web窗体应用程序中,而在MVC应用程序中存在试图布局页。

母版页存在就一定要有内容页的存在,否则母版页的存在就没有了意义。

母版页提供整个框架,并利用

       <asp:ContentPlaceHolder ID="ContentPlaceHolder1"runat="server">               </asp:ContentPlaceHolder>

为内容留出空隙。

 

创建使用母版页的内容视图,

 

内容页会自动生成,带有内容容器标签的id和内容id相组合,使得,内容填写到相应的内容容器中去。

<asp:Content ID="Content1"ContentPlaceHolderID="head" runat="server"></asp:Content><asp:Content ID="Content2"ContentPlaceHolderID="ContentPlaceHolder1"runat="server"></asp:Content>

MVC中的布局页中使用@RenderBody代替ContentPlaceHolder1

  1. 布局页是MVC应用程序中最先启动的文件,虽然我们在Global.asax中定义了最先启动的页面

        

publicstatic void RegisterRoutes(RouteCollection routes)        {           routes.IgnoreRoute("{resource}.axd/{*pathInfo}");            routes.MapRoute(               "Default", // 路由名称               "{controller}/{action}/{id}", // 带有参数的 URL               new { controller = "Home", action = "Index", id =UrlParameter.Optional } // 参数默认值            );         }

但这只是布局页中 @RenderBody()所指向的位置

  1. 那么最先启动的布局页在什么位置定义呢?
    1. Views文件夹下的_ViewStart.cshtml文件中定义。

@{    Layout ="~/Views/Shared/EasyUILayout.cshtml";}

  1. 当布局页中的代码运行到 @RenderBody(),会自动显示Global.asax定义的起始页中的内容。
  2. 布局页中还可以使用

           <div id="logindisplay">               @Html.Partial("_LogOnPartial")           </div>

添加另一个布局页中的内容。

  1. 布局页中显示内容的方式还有其他几种,详见博客:http://www.cnblogs.com/luluping/archive/2011/04/20/2021916.html

 

     之前学了自定义控件,之后又学了母版页,现在又学了布局页,呵呵,有了一种永远也赶不上时尚的感觉。之后还有什么我需要学习的呢,呵呵,尽管来吧,我要抓住时尚,并引领时尚。

0 0
原创粉丝点击