加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

Razor in ASP.NET MVC 3.0

发布时间:2020-12-16 09:28:27 所属栏目:asp.Net 来源:网络整理
导读:Razor in ASP.NET MVC 3.0 ASP.NET MVC 3.0中,提供了新的View Engine:Razor,使用的方式和以往没有差别很大,不过写法却显得的更简单俐落;以往费事的% %,被简化成短短的@,如果需要声明多行,则只需要利用@{}包起来就可以了!对我来说,最棒的是排版的时

Razor in ASP.NET MVC 3.0


ASP.NET MVC 3.0中,提供了新的View Engine:Razor,使用的方式和以往没有差别很大,不过写法却显得的更简单俐落;以往费事的<% %>,被简化成短短的@,如果需要声明多行,则只需要利用@{}包起来就可以了!对我来说,最棒的是排版的时候漂亮超多XD

下图是基本的Razor View:

@model 声明该页的Model类型

@Layout 声明想要套用的MasterPage名称(如果不需要套用就是null)

@View.Title 页面标题

除了在页面声明之外,你还可以用一个更简单的方式声明所有页面要套用的Layout,那就是利用_ViewStart.cshtml来声明网站所有默认套用的页面。_ViewStart.cshtml只会影响跟他同一层底下的目录,所以如果你有使用area,可以在area下的Views中,重新指定_ViewStart.cshtml。

?

_ViewStart.cshtml除了用来指定Layout以外,一些需要共同处理的东西也可以在这里设定,例如:设定CacheControl

在Master Page(其实在Razor中,一般的页面和Master Page没有特别区别,只是习惯用这种方式称呼用来套版的页面)中,以往使用ContentPlaceHolder来做为不同区块的分隔,而在Razor则是以Body及Section做为切割

在套用的时候,Body的内容不需要额外处理,而Section则只需要用@section包起来即可!(需指定Section名称)

Razor还有许多用法,像是@function,在页面中可以自订函数使用:

@functions {
    public static IHtmlString Print(int times,Func
  

 
  
  template) { StringBuilder builder = new StringBuilder(); for(int i = 0; i < times; i++) { builder.Append(template(i)); } return new HtmlString(builder.ToString()); } } @{ View.Title = "Home Page"; } 
 
  

@View.Message

To learn more about ASP.NET MVC visit http://asp.net/mvc.

@Print(10,@ item: #@item);
,>

相关连结:

Introducing “Razor” – a new view engine for ASP.NET

ASP.NET MVC 3: Layouts with Razor

Inside Razor - Part 3 – Templates

Dotblogs 的标签:Razor,ASP.NET MVC

原文:大专栏 ?Razor in ASP.NET MVC 3.0

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读