MVC学习四:Razor视图语法
@{
Layout = null;
}
<hr />
<!DOCTYPE html>
@this.GetType().Assembly.Location.ToString()
<html>
<head>
<meta name="viewport" content="width=device-width" />
<title>RazorView</title>
</head>
<body>
<!--1.0 Razor C#语句块-->
@{
for(int i =0;i<10;i++)
{
//Response.Write("<div></div>");
<gzitcast>哈哈哈 @Model.CName~~~~~</gzitcast>
//Response.Write("<div>哈哈哈哈~~~~</div>");
}
}
<!--2.0 输出. 使用小括号-->
<div>@(ViewBag.CName).CName</div>
结果:
<div>aa.CName</div> <!--3.0 输出 Email-->
@{
//定义一个 匿名类 变量
var qq = new { com = "126" };
} <div>JamesZou707@qq.com</div>
<!-- 输出qq变量的com属性-->
<div>JamesZou707 @qq.com</div> <hr />
<!--4.0 输出 字符串-->
<!--4.1直接使用@变量 输出变量值,相当于 Response.Write(qq.com)-->
@qq.com
<!--4.1 代码块 输出 字符串-->
@{
Response.Write(qq.com);
}
<hr />
<!--5.0 输出 html字符串 -->
@{
string strHtml = "<input type='text'/>";
@strHtml
}
<!--5.1 razor 会自动 转义 输出字符串中的 尖括号 <> -->
@strHtml <!--5.2 Response输出 html,缺点 ResponseWrite的内容 都在页面最上面-->
@{
Response.Write(strHtml);
} <!--5.3 使用Html.Raw方法 输出不转义的html,因为 方法会返回 一个 HtmlString 对象-->
@Html.Raw(strHtml) <!--5.4 使用HtmlString 输出不转义的html-->
@{
HtmlString htmlRaw = new HtmlString("<input type='button' value='RawHTML'/>");
@htmlRaw.ToHtmlString();
} <!--5.5 使用MVCHtmlString静态方法Create输出不转义的html-->
@{
HtmlString strHtml2 = MvcHtmlString.Create("<input type='radio'/>");
@strHtml2
} <!--6.0 在视图中 声明"方法" ,此方法 就是 在 视图类中 添加一个 返回值为 HelperResult 的方法-->
<!--注意:一般 不在视图上定义方法,因为 方法就是业务,而mvc本身就是为了 把 业务 和 视图 分离开-->
<!-- 之所以 Razor支持 在视图上 定义方法,就是为了 解决 视图上要重复 输出 html代码 块 的情况 -->
@helper ShowHi(string a) {
<div style="border:1px solid #0094ff;">哈哈哈~~~~ @a</div>
} @ShowHi("小孩~~~"); <!--6.1 在视图中 调用 无返回值 方法,必须要加上大括号 && 重要:在当前视图 中 传递参数 给另外一个视图-->
@{ViewData["partData"] = "哇哈哈哈哈";}
@{Html.RenderPartial("~/Views/Home/PartTargetView.cshtml");} <!--6.2 在视图中 调用 有返回值方法,不需要加 大括号; 由此看出@后直接跟变量 或 带返回值的方法,会直接在此输出 变量内容 或 方法返回的值-->
@Html.TextBox("txtname") <!--6.3调用泛型方法 需要 加大括号-->
@*
@{ShowObj<object>()}
*@ <!--7.0 注释-->
@*
哇哈哈哈哈,我们是注释~~~~~~~~~~~!
*@ @{
//哈哈哈~~,我是单行注释
} <!--8.0 在C#代码块中 输出文本-->
@{
<div>我爱广州</div>
<!--使用 Razor内置标签 <text> -->
<text>我爱广州</text>
<!--方式二-->
@:我爱广州
} <!--9.0 在视图中 输出@符号-->
@@我被转义了 <!--10.0 访问内部对象属性-->
@Response @("211".AsInt()) @Href("~/Home/Index");
</body>
</html>
//--------------------------------------2.0 加载指定视图-----------------------------------
public ViewResult LoadViewBySelf()
{
//1.0 通过指定 视图名 加载 指定的视图:此视图 必须在 当前控制器同名 的文件夹中
//return View("LoadTarget");
//2.0 通过指定 视图路径 加载指定的视图:基于根目录
return View("~/Views/Home/List.cshtml");
} //---------------------------------3.0 控制器 向 View传递数据
public ViewResult TransData()
{
////动态数据类型,类似与JS里的对象。
////但是因为 此种对象是在运行时才知道对象的类型,所以编译器和VS都无法推断并产生 智能提示
//dynamic obj = new object();
//dynamic Cla = new ClaController();
//dynamic num = 1;
////动态数据类型 可以动态 添加属性
//obj.AA = 123;
//int a = obj.AA; //3.1 ViewBag
ViewBag.GzItcast = "广州传智播客~~~!";
//3.2 ViewData
ViewData["HnItcast"] = "湖南传智播客~~~!";
//3.3 TempData
TempData["USAItcast"] = "美国传智播客~~~!";
//3.4 Model
Models.Class modelClass = new Models.Class() { CName="德国传智播客~~!" }; ViewData.Model = modelClass;
return View();
}
MVC学习四:Razor视图语法的更多相关文章
- ASP.NET Mvc Razor视图语法
在ASP.NET MVC中有两套模版引擎,一套是ASPX,一套是Razor,从事过WebForms开发的朋友们,对于ASPX模版已经很熟悉了,下面我说一下我所熟悉的Razor模版引擎的一些语法,供大家 ...
- ASP.Net MVC(3) 之Razor视图引擎的基础语法
Razor视图引擎的基础语法: 1.“_”开头的cshtml文档将不能在服务器上访问,和asp.net中的config文档差不多. 2.Razor语法以@开头,以@{}进行包裹. 3.语法使用: 注释 ...
- MVC5学习系列--Razor视图(一)
前言 嗷~小弟我又出现了~咳咳..嚎过头了, 先说一说为什么写这个吧,~首先肯定是我自己需要学(废话 - -,)//,之前也写过MVC4的项目,嗯..但是仅限于使用并没有很深入的每个模块去了解, 这段 ...
- 使用RazorGenerator和预编译MVC引擎将Razor视图编译成DLL
Web开发中常常会有跨页面.跨站点.跨项目组的复用模块(界面),最常见的就是如下方所示的Web页面上用于显示登录或用户名的头部模块, 使用ASP.NET MVC开发中,常见的做法是写成部分视图,本文的 ...
- ASP.NET MVC3细嚼慢咽---(3)Razor视图语法
MVC3.0中新增加了Razor视图,Razor视图的语法以@符号为核心,貌似在这个时代离不开@了,微博,邮箱都用这个. 1.输出变量和文本 @DateTime.Now @for (int i = 0 ...
- spring MVC 学习(四)---拦截器,视图解析器
1.接口HandlerInterceptor 该接口包含3个方法,分别是preHandle,postHandle,afterCompletion,分别代表着执行前,执行后,执行完成要执行的方法,其中p ...
- MVC学习二:基础语法
目录 一:重载方法的调用 二:数据的传递 三:生成控件 四:显示加载视图 五:强类型视图 六:@Response.Write() 和 @Html.Raw()区别 七:视图中字符串的输入 八:模板页 一 ...
- JavaWeb学习(四) : JSP 基本语法
引入 JSP 的概念: 通俗来讲 : 在 HTML 代码中混合 Java 代码能让网页具有动态的功能, 而嵌入了 Java 代码的网页就是 JSP. JSP 的特点(优点) : 1.运行于服务端(是一 ...
- MVC学习四
第七节 讲述了增加model中类的属性,由于数据库中已存在表,表中没有存在新加的列,所以可以删除数据库或者在数据库中新增一列,另可以在controller中新增一个数据库初始化的类,并在Globa ...
随机推荐
- 写些最近两个学安卓的笔记-关于Toast
1.Toast可以在Activity和service里使用,在Service里使用时,Toast是显示在当前的Activity上. 2.Toast出现时,当前的Activity依然可见可交互. 3.T ...
- cloudermanger安装时需要安装或彻底正确卸载再安装orcal-java7-installer、oracle-java7-set-default(ubuntu14.04版本)(图文详解)
不多说,直接上干货! 安装orcal-java7-installer和oracle-java7-set-default 安装JDK1.7 (所有节点)CDH要求至少是Oracle JDK7,Ubunt ...
- SpringBoot | 第三十四章:CXF构建WebService服务
前言 上一章节,讲解了如何使用Spring-WS构建WebService服务.其实,创建WebService的方式有很多的,今天来看看如何使用apache cxf来构建及调用WebService服务. ...
- Hadoop 2.7.2 集群搭建(转载)
http://blog.csdn.net/u010048823/article/details/51913608
- 深入理解JavaScript系列(37):设计模式之享元模式
介绍 享元模式(Flyweight),运行共享技术有效地支持大量细粒度的对象,避免大量拥有相同内容的小类的开销(如耗费内存),使大家共享一个类(元类). 享元模式可以避免大量非常相似类的开销,在程序设 ...
- [转]Oracle job procedure 存储过程定时任务
本文转自:http://www.cnblogs.com/hoojo/p/oracle_procedure_job_interval.html oracle job有定时执行的功能,可以在指定的时间点或 ...
- 1.net平台
.net/dotnet:一般指的是.Net Framework框架,是一种平台,一种技术. .net Framewoek框架是.net平台不可缺少的一部分,它提供了一个稳定的运行环境来保证.net ...
- 【Sql server: T-Sql 技术内幕 系列】之索引篇
本文系 T-Sql技术内幕系列读后感. 用过数据库的程序猿都知道,索引可以极大的优化sql语句的执行时间,但是您要问我,怎么减少的,我只能说:"抱歉,我也不太清楚." 带着这个疑惑 ...
- 【学习笔记】HTML基础:使用html制作网页
一.初识HTML 1.什么是HTML? Hyper Text Markup Language(超文本标记语言) 扩展XML:Extendsible Markup Language(可扩展性标记语言) ...
- Session&Cookie 简介及使用
Cookie cookie 是存储于访问者的计算机中的变量.每当同一台计算机通过浏览器请求某个页面时,就会发送这个 cookie.你可以使用 JavaScript 或其它语言来创建和取回 cookie ...