.Net MVC 中_Layout.cshtml页面新布局(转载)

作为一个刚刚开始学习Mvc的新人来说,从之前的winform页面到现在MVC的转变,感觉这是华丽丽的转身啊,再没有拖拽控件,转而是一种规范的格式,用Model-View-Controller三者把一个系统的构成完美呈现,你可以选择用其自带的模版来完成系统的开发,很强大,很方便。

  但是对于现在越来越需要关注度的时代来说,漂亮的页面必不可少,你当然可以自己用html来完成页面的设计,但是,MVC提供了一套自己的新的LayOut布局系统,一起来学习一下吧。

  首先,了解一下其中的几个常用方法:

@RenderBody()方法:它的作用是渲染整个View到占位符处。

@RenderPage()方法:渲染指定的页面到占位符处.

一、先看看@RenderBody()方法

首先你要找到这个文件“~/Views/Shared/_Layout.cshtml”,在这个文件中你可以将其中对应内容改为如下部分(要注意的是在_Layout.cshtml中@RenderBody()只允许使用一次,而@RenderPage()则可以使用多次)

<body>
    <div>
        Body开始部分<br />
        @RenderBody()
        Body结束部分<br />
     </div>
</body>

然后你要在~/Views/Home/Index.cshtml找到文件并把内容改为

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

@{
     ViewBag.Title = "首页";
}
<div>
    惊喜在这里
</div>

运行后你会发现输出

Body开始部分
        惊喜在这里
        Body结束部分

是不是很神奇啊?

二、看看@RenderPage()方法

其实他的使用更方便,与@RenderBody()类似,只不过他的定向性更强。

举个例子@RenderPage("~/Views/Home/ViewPage1.cshtml"),你可以直接这样调用页面。还是举上面的例子,添加下列代码:

<body>
    <div>
        Body开始部分<br />
        @RenderBody()
        Body结束部分<br />


                     开始渲染其他页<br />
        @RenderPage("~/Views/Home/ViewPage1.cshtml")
            渲染其他页结束<br />
     </div>
</body>
你可以在"~/Views/Home/ViewPage1.cshtml"页面中随便写点东西,比如:

    <div>
        你好!
    </div>
而神奇的是你不需要在view页面中编写任何代码,运行后,会输出:


Body开始部分
        惊喜在这里
        Body结束部分

开始渲染其他页

    你好
    渲染其他页结束
是不是很神奇啊!
--------------------- 
作者:speedwade 
来源:CSDN 
原文:https://blog.csdn.net/speedwade/article/details/18314851 
版权声明:本文为博主原创文章,转载请附上博文链接!

猜你喜欢

转载自blog.csdn.net/qq_33380252/article/details/83898944