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"]这种形式更简