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 @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

原文地址:https://www.cnblogs.com/chinatrump/p/11458459.html

时间: 2024-08-01 16:41:51

Razor in ASP.NET MVC 3.0的相关文章

asp.net MVC 4.0 View回顾——布局页与分部页

asp.net MVC 4.0中总结 视图里加载部分视图几种方法 @RenderPage() 但它不能使用 原来视图的 Model 和 ViewData ,只能通过参数来传递. 1 @RenderPage("~/Shared/Component/Dialog.cshtml", new { title = "Hello world!", content="Nani" }) 分部视图接收数据通过Page 1 <div id="dial

Asp.net mvc 4.0 高级编程 百度云下载

Asp.net mvc 4.0 高级编程 百度云下载地址:链接:http://pan.baidu.com/s/1o6zFvOe 密码:xyss 1.基于 ASP.NET MVC4.0 + WebAPI + EasyUI + Knockout 的架构设计开发 2.采用MVC的框架模式,具有耦合性低.重用性高.生命周期成本低.可维护性高.有利软件工程化管理等优点 3.采用WebAPI,客户端完全摆脱了代理和管道来直接进行交互 4.采用EasyUI前台UI界面插件,可轻松的打造出功能丰富并且美观的UI

asp.net mvc 3.0 知识点整理 ----- (2).Controller中几种Action返回类型对比

通过学习,我们可以发现,在Controller中提供了很多不同的Action返回类型.那么具体他们是有什么作用呢?它们的用法和区别是什么呢?通过资料书上的介绍和网上资料的查询,这里就来给大家列举和大致的概括下. (1). ActionResult(base):最基本的Action类型,返回其他类型都可以写ActionResult. (2). ContentResult:返回ContentResult用户定义的内容类型. public ActionResult Content() { return

我要学ASP.NET MVC 3.0(十三): MVC 3.0 防止跨站点请求伪造 (CSRF) 攻击

我要学ASP.NET MVC 3.0(十三): MVC 3.0 防止跨站点请求伪造 (CSRF) 攻击 概述      众所周知,ASP.Net MVC程序在浏览器运行时产生了标准的Html标签,包括浏览器要发送的关键数据等内容都在Html内容里面,听起来不错,但是假如我们仿造类似的Html内容,更改里面关键数据,在浏览器运行起来会怎么样呢?好下面我们就做这样一个例子.       CSRF攻击例子 首先我们拿以前做好的person/edit作为例子 先看控制器代码 //初始页面        

ASP.NET MVC 4.0 升级到 5.0遇到的问题及解决思路

先说一下项目的情况 这个项目是公司的一个官网,之前同事写的,用的.NET 和ASP.NET MVC 4.0的.我用的新开发环境是VS2015,在原来的项目基础之上不能创建新的Controller.我就自定义一个Controller类,集成Controller,也可以创建View.调试运行都可以.后来想尝试局域网环境发布,用的是VS自带的发布功能.供公司其他同事浏览,发现一个问题:新建的Controller相关页面和在原有Controller里创建的页面都没有生成,就是没有发布成功.一开始还没注意

asp.net mvc 3.0 知识点整理 ----- (4).HtmlHelper(Html 辅助方法)介绍

在View视图中,Html的类型是System.Web.Mvc.HtmlHelper<T>, 所有的辅助方法都需要和ModelState交互.那么,ModelState是什么呢?它是模型绑定的附属品,并且存有模型绑定期间检测到的所有验证错误.以及用户提交用到来更新模型的原始值.本篇博文,我们主要来介绍下一些常用的html辅助方法的主要作用和使用方法. 1. Html.BeginForm()和Ajax.BeginForm().   Html.BeginForm(): 同于传统的表单提交,主要是生

asp.net mvc 3.0 知识点整理 ----- (3).asp.net mvc 3 和asp.net mvc 4 对比

asp.net mvc的版本更新很快,每个版本都在前一个版本的基础上,进行性能的优化和功能的完善和提升. 以下,便是我对比了下两个版本,发现最基本的差异.(更新补充中..) 一.关于配置类Global.asax的不同 为了较少配置类的杂乱代码,asp.net mvc 4 中 将Global.asax文件中的内容单独到 App_Start 下的几个配置文件中去. 在asp.net mvc 3 中: public static void RegisterGlobalFilters(GlobalFil

ASP.NET MVC 4.0的Action Filter

有时候你想在调用action方法之前或者action方法之后处理一些逻辑,为了支持这个,ASP.NET MVC允许你自定义创建action过滤器.Action过滤器是自定义的Attributes,用来标记添加Action方法之前或者Action方法之后的行为到控制器类中的Action方法中. 什么情况下可能会用到action过滤的地方: 日志,异常处理 身份验证和授权 - 限制用户的访问 输出缓存 - 保存一个Action的结果 网络爬虫的过滤 本地化 动态Action - 将一个Action注

安装了VS2010 sp1 后再安装ASP.NET MVC 3.0的问题(Final Result: Installation failed with error code: (0x80070643), &quot;安装时发生严重错误 &quot; (Ela)

原文:安装了VS2010 sp1 后再安装ASP.NET MVC 3.0的问题(Final Result: Installation failed with error code: (0x80070643), "安装时发生严重错误 " (Ela) 安装了VS2010 sp1 后再安装ASP.NET MVC 3.0的问题(Final Result: Installation failed with error code: (0x80070643), "安装时发生严重错误 &qu