Razor可以识别尖括号,且关键词是@,默认情况下会对输出的html代码进行转义

1.C#代码 用 @ 加 中括号 包起来

@{
for (int i = ; i < ; i++)
{
<h3>C#语句块要用大括号 括起来</h3>
}
}

2.Razor输出要使用小括号

<div>@(ViewBag.Dog).Dog</div>
输出 结果为:<br/>
<div>gougou.Dog</div>

3.定义一个匿名类变量,并调用

@{
//定义一个 匿名类 变量
var qq = new {com = "126"};
}
<!--在@符号前面必须要有空格,否则Razor引擎无法识别—>
<div>Kim@qq.com</div>
<div>Kim @qq.com</div>

4.输出字符串

4.1直接使用 @变量 输出 变量内容

@qq.com

4.2代码块 使用Response.Write 输出 字符串

@{
//会在 页面最前端 输出
Response.Write(qq.com);
}

5.输出html字符串

先定义一个html

@{
string strHtml = "<input type='text'/>";
}

5.1使用 @变量 输出

<!-- Razor 默认会自动 转义 输出字符串中的尖括号—>
@strHtml

5.2使用Response.Write() 输出 html

@{
<!-- Response输出 html,缺点Response.Write的内容 都会在页面最上面-->
Response.Write(strHtml);
}

5.3使用Html.Raw方法 输出 不转义的html ,该方法会返回一个HTMLString对象

@Html.Raw(strHtml)

5.4使用HTMLString 输出不转义的html

@{
HtmlString htmlRaw=new HtmlString("<input type='button' value='按钮'/>");
//输出 不转义 html
@htmlRaw<br/>
//输出 转义 html
@htmlRaw.ToHtmlString()
}

5.5使用MVCHtmlString的 静态方法Create 输出 不转义的 html

@{
HtmlString strHtml2=new MvcHtmlString("<input type='radio'/>");
@strHtml2
}

6.在视图中 声明 方法 ,并 调用 方法;@helper是关键字

<!--声明SayHi方法 返回一个 带div的字符串-->
@helper SayHi(string name)
{
<div style="border:1px solid red">name,你好啊</div>
}
<!--调用SayHi方法—>
@SayHi("Kim")

6.1在当前视图中 调用 另一视图 ,并向该视图 传参数

注意:在当前视图中 调用 无返回值的方法,必须要加上大括号

<!--给视图PartTargetView.cshtml传参数 ,在该视图中可以调用-->
@{ ViewData["partData"] = "小明";}
@{Html.RenderPartial("~/Views/Home/PartTargetView.cshtml");}

6.2在视图中 调用 @带返回值的方法,不需要加大括号,输出方法的返回值

@Html.TextBox("txtName")

6.3调用泛型方法 需要 加大括号

@{ShowObj<object>()}

7.注释的几种方法

7.1块注释

@*
这是块注释
*@

7.2行注释

@{
//这是行注释
}

8.在 C#代码块中 输出 文本

@{
<div>我爱编程</div>
<!-- 方式一 使用 Razor内置标签 <text>—>
<text>编程很快乐</text>
<!--方式二 使用@冒号文本-->
@:编程成就梦想
}

9.在视图中 输出 @符号

@@看我被转义了

10.访问Razor内部对象属性

<!--查看源代码,Controller中包含很多其他东西—>
@Response
<!--As**()  表示 类型转换—>
@("114".AsInt())
<!--将服务器地址装换为浏览器地址,浏览器的根地址就是反斜杠 而此时服务器的根地址就是/—>
@Href("~/Home/Index")

Razor的使用的更多相关文章

  1. 警惕!高版本VS发布时预编译导致Mono中Razor找不到视图

    早前一段时间,一位朋友在Q群里面找到我,说它按照<Linux.NET学习手记>的操作,把一个ASP.NET MVC 4.0的项目部署到Mono之后出现Razor无法找到视图的现象.当时费了 ...

  2. ASP.NET MVC 5 Web编程4 -- Razor视图引擎

    Razor简介 Razor是ASP.NET新增的一个视图引擎,由微软全球最年轻的副总裁,有着"ASP.NET之父"称呼的Scott Guthrie主导的团队开发. 主导Razor开 ...

  3. .NET MVC Razor模板预编译(二)

    在前面一片文章:<.NET MVC4 Razor视图预编译(一)> 里面我采用的是PrecompiledMvcViewEngineContrib组件进行预编译视图的虚拟地址注册,但是这个组 ...

  4. .NET MVC4 Razor视图预编译(一)

    在平时使用.NET MVC中不乏有类似的需求:某些razor视图,特别是系统后台的视图,不想让用户自行更改,需要通过某种方法把视图模板编译到项目的dll中去. 但是VS并不提供razor的预编译,如果 ...

  5. MVC5学习系列--Razor视图(一)

    前言 嗷~小弟我又出现了~咳咳..嚎过头了, 先说一说为什么写这个吧,~首先肯定是我自己需要学(废话 - -,)//,之前也写过MVC4的项目,嗯..但是仅限于使用并没有很深入的每个模块去了解, 这段 ...

  6. ASP.NET Core 中文文档 第四章 MVC(3.2)Razor 语法参考

    原文:Razor Syntax Reference 作者:Taylor Mullen.Rick Anderson 翻译:刘怡(AlexLEWIS) 校对:何镇汐 什么是 Razor? Razor 是一 ...

  7. Razor基础语法一

    目录: 什么是Razor? 渲染HTML Razor语法 隐式 Razor 表达式 显式 Razor 表达式 什么是Razor? Razor是基于服务端代码转换成网页的标记语法.语法主要包括Razor ...

  8. VS2015突然报错————Encountered an unexpected error when attempting to resolve tag helper directive '@addTagHelper' with value 'Microsoft.AspNet.Mvc.Razor.TagHelpers.UrlResolutionTagHelper

    Encountered an unexpected error when attempting to resolve tag helper directive '@addTagHelper' with ...

  9. ASP.NET MVC——Razor视图引擎

    Razor是MVC框架视图引擎,我们今天就来说一说Razor视图引擎. 首先还是来创建一个基础项目叫Razor来演示. 先来定义一个Model叫Product public class Product ...

  10. ASP.NET的视图(Razor)循环产生html代码

    需要要视图中Razor语法,循环产生一些html代码. 产生后的html是这样的: <li data-transition="> <img src="~/Cont ...

随机推荐

  1. 有一张表里面有上百万的数据,在做查询的时候,如何优化?从数据库端,java端和查询语句上回答

    原文:https://www.2cto.com/database/201612/580140.html 1)数据库设计方面: a. 对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 o ...

  2. STL 笔记(五) 算法 algorithm

    在 STL 中,算法是一系列的函数模版.STL 提供了大概 70 个算法,由头文件 <algorithm>.<numeric>.<functional>组成. 头文 ...

  3. windows下检測文件改变

    这个主要是应用在我前一篇博客里提到的脚本热载入功能. 主要实现的功能检測目录内文件的变化(改变.新增.删除.重命名),当发现改变的时候通知lua又一次载入脚本.基本上就是一个windows api的使 ...

  4. struts2前端页面读取Clob/BLOB

    在通过Struts2标签显示对象的Clob属性值的时候.显示的并非CLOB或者BLOB的内容,而是显示的toString方法的值 比如我在实体中的注解为: @Lob @Column(name = &q ...

  5. s:actionmessage页面样式失效

    1,  s:actionmessage页面样式失效: 2,解决方式: 将样式直接写入s:actionmessage标签中:<span><s:actionmessage cssSt ...

  6. git-svn for mac

    熟练使用 git ,新公司用的是 svn,这就尴尬了,为了这个习惯问题,我还是毅然坚持使用 git,但是又不与公司的 svn 冲突,所以就找到了 git 的 git-svn 插件. 在 mac 上使用 ...

  7. WCF Odata 开放数据协议应用

    OData简介 说起 WCF Data Service ,不得不说的是 OData.对于一个标准的 Web 服务,它往往会提供了一些功能,比如说:订货.退货这些,然后使用者通过HTTP协议来使用这些功 ...

  8. 【转】ACM 2567 -- 树的Prufer编码

    本文介绍北京大学ACM网站2567号题目的解法.介绍部分基本翻译自网站上的题目介绍. 题目介绍:    给定一棵各节点编号为整数1,2,3...n的树(例如,无环连通图),其Prufer编码(Pruf ...

  9. Tarjan Algorithm

    List Tarjan Algorithm List Knowledge 基本知识 基本概念 复杂度 有向图 Code 缩点 Code 用途 无向图 Articulation Point-割顶与连通度 ...

  10. CodeForces - 557D Vitaly and Cycle(二分图)

    Vitaly and Cycle time limit per test 1 second memory limit per test 256 megabytes input standard inp ...