MVC学习-View(1)-Razor视图引擎

  它就是一个尖括号生成器--微软项目经理(Scott Hanselman)

1.特点:

  (1)紧凑,富有表现力和流畅

  (2)上手快

  (3)不是新编程语言

  (4)可以使用任何文本编辑器编写

  (5)智能感应输入提示

  (6)便于单元测试

2.语法:

  (1)语句结束符,在“@{/*代码体*/}”代码块内的代码每一行必须以“;”结束,而“@xxx”不需要。

  (2)大小写敏感

  (3)字符类型常量必须以双引号“”包括。

  (4)注释:"//..."单行注释,“@*...*@”,“/*...*/”多行注释。

  (5)局部变量:(不支持访问修饰符)

  在单行上定义局部变量:

  @{var total=7;}

  @{var mystr="hello world";}

  在多行上定义局部变量:

  @{var str=“。。。”;

    var str2="...";

    }

  在上下文中使用变量:

  <p>the count is:@total</p>

  <p>the message is:@mystr</p>

  (6)在@{}内部可以使用任意html标记

  (7)文本输出:

  单行输出:@{@:你好;

        @:你好;

        }

  多行输出:@{<text>

        文本

        文本

        </text>

    }

  (8)支持if语句,for循环,while循环,foreach循环。

  (9)类型转换方法:AsInt(),IsInt(),AsBool(),IsBool()...

  (10)在Razor视图引擎页面可以引用.net框架提供的类库,当然也可以引用自己编写的类库。

3.Layout布局系统

  Layout页面文件一般应放在Views/Shared文件夹下。

  引用方法:@{

        Layout="~/Views/Shared/_LayoutPage1.cshtml";

        }

  布局文件中可以包含很多节,使用@RenderSection()加入节,该方法有两种重载方法:@RenderSection(string name),@RenderSection(string name,bool requied)。注意@RenderBody()能出现一次,@RenderSection()可以出现多次。

4.ViewStart

  Razor视图引擎提供了ViewStart功能,使用该功能可以不需要再每个视图中显式设置布局的新功能,而是能一次性定义网站内所有视图的布局逻辑,可让视图文件更干净,也更容易维护。ViewStart功能在名为“_ViewStart.cshtml”的文件中实现,其中的代码会先于放在任何其他视图的代码被执行,里面有默认生成的代码:@{Layout="~/Views/Shared/_Layout.cshtml";}

5.部分视图(Partial Views)

  有点类似于aspx视图引擎中的用户控件,使用部分视图可以创建放置于不同页面的通用部分。创建方法有两种:一,在文件夹Views中用鼠标右击,选择命令“添加|Views”,按照提示创建部分视图;二,单击对应的行为方法,选择命令“Add View”,按照提示创建部分视图,新创建的部分视图是空白的,不包含任何代码,可以使用Html.Partial()方法把部分视图添加到视图中。

6.子行为

  子行为是在一个视图中调用的行为方法,子行为与行为之间的关系如同部分视图与视图一样。子行为可以避免在应用程序中反复调用控制器。示例代码:

[ChildActionOnly]

public ActionResult SubMessage(){

return PartialView();

}

ChildActionOnly属性不是必须的,任何行为方法都可以作为子行为被调用,但是ChildActionOnly属性标记了一个行为只能在视图中作为子行为被调用,在视图中,用Html.Action()方法来调用子行为。

原文地址:https://www.cnblogs.com/Lightmen/p/4945904.html