MVC小系列

Posted 那就让我这样吧

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MVC小系列相关的知识,希望对你有一定的参考价值。

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

以上是关于MVC小系列的主要内容,如果未能解决你的问题,请参考以下文章

MVC小系列Html.BeginForm与Ajax.BeginForm

MVC小系列PartialView中的页面重定向

MVC小系列(十五)MVC+ZTree实现对树的CURD及拖拽操作

MVC小系列RenderAction和RenderPartial区别

MVC小系列(十六)在控制器级别或具体Action级别上动态设定模板页(Layout)

MVC系列——一个异常消息传递引发的思考