代码改变世界

Asp.net MVC – Razor模板语法

2012-09-07 10:58  JustRun  阅读(1494)  评论(0编辑  收藏

1. 模板基本语法

@(value / 10)

输出运算结果

@@

输出@

@{

    var i = 1;

}

代码块

@foreach(var item in items)

{

    @item.name

}

在foreach内部,不用标签输出文本会被当做C#代码处理,可以加上<text></text>或者直接加上@:

@* *@

代码块注释

 

2. HtmlHelper

常用的HtmlHelper方法

@Html.Raw

输出纯的html, 不转义

@Html.ActionLink

输出链接

@Html.Partial

使用其它Partial模板输出

@Html.LabelFor

输出表单label

@Html.EditorFor

输出表单Editor

@Html.HiddenFor

输出hidden表单项

@Html.ValidationMessageFor

输出验证信息

@using (Html.BeginForm())

{

}

输出Html表单

@Html.ValidationSummary

表单验证信息显示

自定义HtmlHelper

创建自定义HtmlHelper, 可以给HtmlHelper添加extension method的方式来扩展

自定义的HtmlHelper引入到模板中,可以使用@using,或者在View文件夹下的Web.config文件中,添加上这个namespace.

 

3. Layout

系统使用哪个Layout在View文件夹中的_ViewStart.cshtml中指定, 在单个view中,可以重写这个Layout变量,改变layout页面。

 

@RenderBody

layout页面使用这个,表示这部分由其它view的输出

@RenderSection

每个section有个名字,其它的View可以使用下面的@section name的办法来输出

@section name{

}

填充layout中的section

 

4. Partial View

Html.Partial

指定一个View的名字,输出当前View的部分内容。

Html.Action

能够返回一个Action的输出, 这个Action返回的是PartialView

可以在Action上使用[ChildActionOnly], 这样这个ParticalView的Action就不能被公开访问了。