EF5+MVC4系列(9) Razor视图引擎的核心原理;@符号的使用;输出html的转义

一:Razor视图引擎的核心原理

Razor是ASP.NET MVC 3中新加入的技术,以作为ASPX引擎的一个新的替代项 ,他是一个视图引擎

他的核心原理,就是当读取到 @符号的时候,就认为这是开始c#代码,并且 会自动寻找 {  } 作为开始和结束.但是当他不管在任何地方碰到<> 和 </>的时候,就不会当做是c#代码,而是当做html代码,我们会看到,在真正生成的 视图类代码里面  <span>xx</span>  会直接被 Response.Write(“<span>xx</span>”)

疑问,Razor是能自动识别html么? 答案,不能,他是根据 <>和</> 这种尖挂号来识别的, 例如你写成 <joey>我随便写的标签</joey> 他也会识别成html代码,这里有个注意事项就是,如果是单标签 </br>  他也是可以识别成html的

 

 

二: 在前台视图中  @符号的使用

2.1 : 后面跟一个有返回值的,那么就会直接输出变量值

image

 

 

2.2: 后面跟一个大括号,用于保存变量

image

 

 

2.3: 如果@后面调用的方法是没有返回值的,那么要用大括号

image

 

 

2.4 : 用Html.Raw 和 MvcHtmlString.Create 来禁止转义

image

前台显示如下

image

实际的html 是

image

 

2.5 : 用helper来定义一个方法

image

前台生成的html是

image

注意,当我们查看源码的时候发现,我们用  Helper 创建的方法,会在 视图的前台页面类里面,添加了一个返回值为 HelperResult 的方法

image

2.6 @用小挂号的情况 ()

一种特殊情况,我后台有个变量为 ViewBag.Cname=”aa”;

然后我在前台视图里面,想输出 aa . Cname  这个时候就需要在前台用到 () 小挂号 把前面的一部分当做是变量

image

image

前台生成值就把  ViewBag.Cname的值输出为 aa  并且在后面加了 .Cname 这个字符串

image

 

转载于:https://www.cnblogs.com/joeylee/p/3859778.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值