MVC3 Razor 视图引擎的基础语法
1._开头的cshtml文档将不能在服务器上访问,类似Global.asax等文件
2.服务端代码必须在@{}之间,要输出@符号可以用@Html.Encode("@")或者@@转义
()用来显示支持代码表达式,如:
@{ViewBag.Title = "Sample";string AppName = "MyApp"; }@AppName.Model
目的是想输出
MyApp.Model,这里引擎无法正确识别.的意义,要能够达到预期效果,需要将AppName用括号括起来: @{ViewBag.Title = "Sample";string AppName = "MyApp";
}
@(AppName).Model
@{ViewBag.Title = "Sample";string AppName = "MyApp"; }@(AppName).Model
另一个例子,防止引擎解析为邮箱,为了输出Item_4
@{ViewBag.Title = "Sample";string test = "ssss"; }Item_@(test.Length)
还有泛型方法等也需要显示使用(),因为"<"标记会使Razor转回标记
3.可以再@{}之间直接输入标签
@{text
div1 }
@{}间不能直接输入非标签内容可以用@:单行输出
@{ @: text @:text
} 或者用
@{sadasafasfa }
4. @model 强类型模型定义,模型在控制器中传入 例:
@model MvcApplication1.Models.Class1
类型需要完全限定,不想完全限定类名,可以用@using 导入命名空间,或者在Views\web.config的
5. @section节点关键字
类似placeholder
在布局页中定义@RenderSection("header",true)或@RenderSection("header",false)
子页中使用@section header{}填充
母版页中的@Renderbody()使用子页默认内容填充
可以加入自定义的默认填充内容
@if (IsSectionDefined("foot")) {@RenderSection("foot");}else {@: No foot }
6.注释块 @* *@之间内容为服务端注释,不会被执行,也不会输出到客户端
转载于:https://www.cnblogs.com/FlyCat/archive/2012/06/30/2571237.html
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
