RAZOR视图介绍
一个cshtml,主体是一个html文本,里面可以写前台和后台代码,混合编写(个人认为不太好,应该分离),这个文件最后会被会被编译为一个类(所以他可以像类一样写一些方法,其他的地方调用)。
cshtml对应的有razor视图引擎,
RAZOR语法
Razor标识符
@为服务器代码标识符,@UserName @{....}
输出HTML
@UserName @Html.XXX 需要注意这些直接数据的,必须有返回值(例如: @Html.Partial() @{Html.RenderPartial()})
输出文本@:
@:我是要输@出的内容
<text>sdfsdf</text> 输出文本
@{ Response.Write(456);} 因为cshtml文件会在后台处理变成html然后写入response响应流,但是这个直接写入到响应流中。所以他应该在页面上面,因为他先写入响应流。
视图解析过程 视图一行一行解析,解析的东西render到内存缓存区。等全部解析完后, 然后在写入到response中。
@{ ViewContext.Writer.Write("789W");}
@@ 输出@
作用域
@{} 里面像写后台代码一样。
@{
var username="123";
@username;
}
@if(1==2){
}
混合编写
<div class="checkbox"> <input type="text" value="@Model.Password" /> @Html.CheckBoxFor(m => m.RememberMe) @Html.LabelFor(m => m.RememberMe) </div>