MVC小系列(二)【Razor 模板引擎】

Razor 模板引擎

Razor模板页:它使我们不用再使用master模板了

一 :
@Url.Content:是可以加载CSS和JS等文件
比如:
<link href="@Url.Content("~/Content/Site.css")" rel="stylesheet" type="text/css" />
<script src="@Url.Content("~/Scripts/jquery-1.4.4.min.js")" type="text/javascript"></script>


二:
@RenderSection("Head", false);
在模板页会定义一些css js等文件,而具体页面相关的css和js文件及代码,可以保留在@RenderSection("Head", false);中,它能够让页面通过@section Head{}块的形式,将代码个性化呈现,其中参数为false,表示具体页面可以不去实现这个sectionHead块

三:
@Html.Partial("_LogOnPartial"):分部视图,事实上就是MVC2中的ASCX视图,一些公用模块可以由它来呈现

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

@RenderPage("~/Views/Shared/Foot.cshtml") :引入一个URL地址的页面

五 _ViewStart.cshtml文件,它会在建立view时自己绑定到view中去,当然在view里通过下面语句设置自己的模板页:

@{
ViewBag.Title = "Test"; //设置页面标题
Layout = "~/Views/Shared/_GreenLayout.cshtml"; //设置页面模板,如果不设置本属性则使用_ViewStart.cshtml里的模板页
}

ViewBag更灵活,它是MVC3中新加入的成员,与ViewData和TempData不同,它是一个dynamic类型的对象,并且内部规定了一些固定的属性如:ViewBag.Title它就代码页面的标题,MVC3会自动把它绑定到<title></title>标记中。
ViewBag不仅是一个dynamic类型,而且它还把当前ViewData里的内容也追加了过来

public ActionResult Index()
{
   ViewData["author"] = "土豆";
 }
@ViewBag.author //比ViewData["author"]这种形式更简

posted @ 2016-06-28 11:31  那就让我这样吧  阅读(399)  评论(0编辑  收藏  举报