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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值