cshtml一二

布局页:_MyLayout.cshtml

<!DOCTYPE html>

@*Razor布局页*@
<html>
<head>
    @*HTTP的头部协议,提示浏览器网页使用的字符集(GB2312:简体中文|BIG5:繁体中文|iso-2022-jp:日文|ks_c_5601:韩文|ISO-8859-1:英文|UTF-8:世界通用语言编码)*@
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

    @*设定网页的到期时间。一旦网页过期,必须到服务器上重新传输。必须使用GMT的时间格式。*@
    <meta http-equiv="expires" content="Fri,12 Jan 2001 18:18:18 GMT">

    @*禁止浏览器从本地计算机的缓存中访问页面内容,访问者将无法脱机浏览。*@
    <meta http-equiv="Pragma" content="no-cache">

    @*自动刷新并指向新页面,其中的2是指停留2秒钟后自动刷新到URL网址。*@
    <meta http-equiv="Refresh" content="200;URL=http://www.baidu.com">

    @*如果网页过期,那么存盘的cookie将被删除。必须使用GMT的时间格式。*@
    <meta http-equiv="Set-Cookie" content="cookievalue=xxx;expires=Friday,12-Jan-2001 18:18:18 GMT;path=/">

    @*强制页面在当前窗口以独立页面显示,防止别人在框架里调用自己的页面。*@
    <meta http-equiv="Window-target" content="_top">

    @*设定页面显示语言*@
    <meta http-equiv="Content-Language" content="zh-cn" />

    @*W3C网页规范,指明页面中脚本的类型。*@
    <meta http-equiv="Content-Script-Type" content="text/javascript">

    @*指定是否显示图片工具栏*@
    <meta http-equiv="imagetoolbar" content="false" />

    @*只有IE8及以上的IE浏览器可以识别,强制内核转换(IE=7:以IE7引擎来渲染页面|IE=edge:以最高版本IE来渲染页面|chrome=1:可以激活Chrome Frame)*@
    <meta http-equiv="X-UA-Compatible" content="IE=7">

    @*移动设备显示参数(width:可视宽度,height:可是高度,user-scalable:是否允许缩放,intial-scale:初始缩放级别,maximum-scale:最大缩放级别,minimum-scale:最小缩放级别)*@
    <meta name="viewport" content="width=device-width, initial-scale=1.0"> @*页面宽度为设别宽度,初始缩放为100%*@

    @*为搜索引擎设定页面关键词*@
    <meta name="keywords" content="合肥,Test">

    @*为搜索引擎设定页面主要内容*@
    <meta name="description" content="这是一个测试页面。">

    @*告诉搜索引擎机器人抓取哪些页面。(all:文件被检索,页面链接可被查询|none:文件不被检索,页面链接不可被查询|index:文件将被检索|follow:页面链接可被查询|noindex:文件不被检索,页面链接可被查询|nofollow:文件被检索,页面链接不可被查询)*@
    <meta name="robots" content="none">

    @*说明网站的作者信息*@
    <meta name="author" content="Ariter,13855505090">

    @*说明网站的制作软件*@
    <meta name="generator" content="VS2013" />

    @*说明网站版权信息*@
    <meta name="COPYRIGHT" content="信息参数">

    @*网站重访,7days代表7天*@
    <meta name="revisit-after" content="7days">

    @*网站字符编码*@
    <meta charset="utf-8" />

    @*页面标题,根据body页面动态显示*@
    <title>@ViewBag.Title - 我的Razor页面</title>

    @*引用外部脚本及样式*@
    <script src="@Url.Content("~/Scripts/jquery-1.10.2.min.js")"></script>
    <link href="@Url.Content("~/Content/Site.css")" rel="stylesheet" />

    @*引用BundleConfig的样式及脚本包路径*@
    @Styles.Render("~/Content/css")
    @Scripts.Render("~/bundles/modernizr")

    @*定义节点:呈现内容页的对应节点(只在布局页中,required:内容页是否必需存在该节点)*@
    @RenderSection("myhead", required: false)
</head>
<body>
    <div class="navbar">
        <div class="container">
            <div class="navbar-collapse collapse">
                <ul class="nav navbar-nav">
                    <li>@Html.ActionLink("主页", "Index", "Home")</li>
                    <li>@Html.ActionLink("关于", "About", "Home")</li>
                    <li>@Html.ActionLink("联系方式", "Contact", "Home")</li>
                </ul>
            </div>
        </div>
    </div>
    <div>
        <h2>布局页引入分布视图</h2>
        <hr />
        Partial:
        @*定义分部视图:呈现该名称的视图页*@
        @Html.Partial("MyPartial")
        @{Html.RenderPartial("MyPartial");}
        <hr />
        Action:
        @*定义分部Action:调用该名称的Action*@
        @Html.Action("GetMyPartial")
        @{Html.RenderAction("GetMyPartial");}
        <hr />
        RenderPage:
        @*定义分部视图:呈现该路径的视图页(PageData传参)*@
        @RenderPage("~/Views/Test/MyPartial.cshtml")
        @RenderPage("~/Views/Test/MyPartial.cshtml", new { Name = "RenderPage-孩子气", Age = 21})
    </div>
    <div class="container body-content">
        @*定义主体:呈现内容页的主体(只在布局页中,必须且只能出现一次)*@
        @RenderBody()
        <hr />
        <footer>
            <p>&copy; @DateTime.Now.Year - 我的Razor页面</p>
        </footer>
    </div>
</body>
</html>

 

内容页:MyPage.cshtml

@*内容页*@
@{
    ViewBag.Title = "页面标题";
    Layout = "~/Views/Shared/_MyLayout.cshtml"; // 使用布局页
}
@*对应布局页节点*@
@section myhead{
    <script></script>
}


<h2>内容页引入分布视图</h2>

<hr />
RenderPage:
@RenderPage("~/Views/Test/MyPartial.cshtml", new { Name = "内容页-孩子气", Age = 21 })
<hr />
Partial:
@Html.Partial("MyPartial")
<hr />
Action:
@Html.Action("GetMyPartial")

 

分部视图:MyPartial.cshtml

@model EF6forMysql.Controllers.MyInfo

@if (PageData["Name"] != null)
{
    <span>PageData参数:@PageData["Name"]  @PageData["Age"]</span>
}

@if (Model != null)
{
     <span>Model参数: @Model.Name @Model.Age</span>
}

@if (ViewData["Name"] != null)
{
    <span>ViewData参数:@ViewData["Name"]  @ViewData["Age"]</span>
}

 

Action:TestController.cs

        public ActionResult MyPage()
        {
            return View();
        }

        public ActionResult GetMyPartial()
        {
            //ViewData参数
            ViewData["Name"] = "Action-黄仔";
            ViewData["Age"] = 22;
            // 强类型参数
            MyInfo mi = new MyInfo() { Name = "Action-黄仔", Age = 25 };
            return View("MyPartial",mi);
        }

 

posted @ 2016-09-19 13:36  Ariter  阅读(3393)  评论(0编辑  收藏  举报