一,简介

Razor 是一种标记语法,可以让您将基于服务器的代码(Visual Basic 和 C#)嵌入到网页中。

基于服务器的代码可以在网页传送给浏览器时,创建动态 Web 内容。当一个网页被请求时,服务器在返回页面给浏览器之前先执行页面中的基于服务器的代码。通过服务器的运行,代码能执行复杂的任务,比如进入数据库。

二,简单语法

就以C#和html为例,他的语法非常简单,@启动的区域为标准的C#代码,其他部分是普通的html代码。

用法:

1.@{C#代码块}

@{string a= "abc";}

@a

<html><head><meta name="viewport" content="width=device-width" /><title>Index</title></head><body>@{ string s = "rupeng"; }<br/>abc@s.achx<br />@s<br />@s.Length;<br /></body>
</html>

输出的结果如下:@后边是C#的语句,需要遵循C#的规则,但是如果@后不符合C#的语法,会被默认为html语句。若是将“abc@s.achx”修改为“abc@(s).achx”,则s就是输出字符串,就不会是@s。

2.@Model

@Mdel.dog.Name

 public class TestController : Controller{// GET: Testpublic ActionResult Index(IndexModel model){model.Result = model.Num1 + model.Num2;return View(model);}}
@model WebApplication3.Models.IndexModel
<html>
<head><meta name="viewport" content="width=device-width" /><title>Index</title>
</head>
<body>    <form action="/Test/Index" method="post">Num1:<input type="text" name="Num1" value="@Model.Num1" />+Num2:<input type="text" name="Num2" value="@Model.Num2" /><input type="submit" value="=" /><span>@Model.Result</span></form>
</body>
</html>

结果如下图,开始两个text默认值为0;点击等于按钮没请求了index,进行了加法运算,将结果返回回来了,又一次验证@后边跟C#语句。

4.@if(),@foreach等C#语句

下面的代码是不可行的,错误的,纯文字会被识别为C#代码。

if(Model.IsOK)
{我想输出一段文字;
}

如果想要输出大量的文字应该在代码前后加上html标签

if(Model.IsOK)
{<span> 我想输出一段文字;</span>
}

Rezor会只能识别那块是C#,哪里是html,html中想运行C#代码就用@,想在C#中代码中输入html就写html标签。

下边这个是foreach的举例。

@foreach(var item in strs)
{<li>yes @item</li>
}

下面的博客链接是我写的很多例子,可以从我写的例子中,对比输出来进行学习。

https://mp.csdn.net/postedit/88599211

MVC--Razor(1)相关推荐

  1. DotNet Core 2.2 MVC Razor 页面编译为 View.dll 文件的解决方法

    DotNet Core 2.2 MVC Razor 页面编译为 View.dll 文件的解决方法 参考文章: (1)DotNet Core 2.2 MVC Razor 页面编译为 View.dll 文 ...

  2. .NET Mvc Razor也可以这样玩!

    忙碌的工作总是占据了生活的大部分的时间!所以我的博客到现在还是寥寥的几篇文章,技术是用来分享和学习的,对技术有不同的见解,大家都可以分享下,如果如下文章有问题之处请各位指出来,在这个闲下来的时间给大家 ...

  3. MVC Razor 语法(转)

    http://blog.sina.com.cn/s/blog_580e98300100yvz4.html 原文地址:MVC Razor 语法(转)作者:panzhaowen_jacki 语法名称 Ra ...

  4. Asp.Net Core Mvc Razor之RazorPage

    在AspNetCore.Mvc.Razor命名空间中的RazorPage继承RazorPageBase,并定义的属性为: HttpContext Context 表示当前请求执行的HttpContex ...

  5. 体验 ASP.NET Core 1.1 中预编译 MVC Razor 视图

    这是从 ASP.NET Core 1.1 官方发布博文中学到的一招,可以在 dontet publish 时将 Razor 视图编译为 .dll 文件. 需要在 project.json 中添加如下配 ...

  6. asp.net mvc 包含了一个 html 的助手类在哪里,c# - 在App_Code中使用@HTML的ASP.NET MVC Razor Helper - 堆栈内存溢出...

    我尝试在cshtml文件中的App_Code中创建一个Helper. // Using's are needed to ensure helpers function correctly. @usin ...

  7. C#MVC Razor的Ajax.BeginForm里面的OnSuccess未执行(未成功跳转)

    C#MVC Razor的Ajax.BeginForm里面的OnSuccess未执行(未成功跳转),结合网上的说法,检查以下位置 1.引用Jquery,注意版本,网上说版本要低一点 <script ...

  8. Asp.net MVC razor语法参考

    Razor语法的快捷参考http://haacked.com/archive/2011/01/06/razor-syntax-quick-reference.aspx/ 只是copy下来便于查阅! I ...

  9. mvc razor html.list,NetCore Web应用开发-HTML,C#,Razor补充

    原标题:NetCore Web应用开发-HTML,C#,Razor补充 我了后续更深入学习Net MVC的需要,我们这一节需要对HTML,C#,Razor,BootStrap部分知识点做介绍. 我们先 ...

  10. ASP.NET MVC Razor视图引擎

    本篇文章我们一起来讨论ASP.NET MVC框架中的Razor视图引擎.主要包含以下内容: Razor简介 Razor语法 Razor如何呈现页面 布局页(Layout) Razor简介 Razor是 ...

最新文章

  1. ThreadLocal 简介
  2. java中的基本数据类型_java的基本数据类型有哪些
  3. 20172314 2018-2019-1《程序设计与数据结构》第四周学习总结
  4. 《数据管理能力成熟度模型》标准宣贯会在上海召开
  5. 微信公众账号开发文档
  6. sql server:查詢系統表
  7. python语言程序设计实践教程答案实验二_20192428 实验二《Python程序设计》实验报告...
  8. Bin格式文件结构及其查看工具
  9. whois php,域名whois php
  10. 机械革命电脑MyApp安装包
  11. C# Windows Service与Timer(计时器)
  12. mfc上位机网络接收图片并显示_基于UDS on CAN的BootLoader上位机
  13. C++模板-33-类模板和函数模板的区别
  14. html飘窗效果,js实现网页飘窗效果-Javascript-舒彬琪博客|前端技术博客|CMS教程|PbootCMS|JizhiCMS-www.cnsbq.com...
  15. 京东2017年4月7日笔试编程原题解析(站队、终结者C)
  16. MyEclipse各种版本注册码
  17. 《OpenCv视觉之眼》Python图像处理十二 :Opencv图像轮廓提取之基于一阶导数的Roberts算法、Prewitt算法及Sobel算法
  18. 两个集合取交集、并集、差集
  19. PHP编程与系统开发
  20. BEA CEO庄思浩清华大学演讲(2002/12)

热门文章

  1. linux centos 网络 时间 日期 同步
  2. python 获取当前class名和方法名
  3. Linux cmake使用入门
  4. 网页布局(div布局)
  5. Android 网络操作常用的两个类
  6. TCP/IP详解--第七章
  7. echarts饼图解析html标签,解决echarts中饼图标签重叠的问题
  8. 怎样学习linux系统管理员,linux系统管理员学习笔记
  9. 查看显卡显存_显卡显存越大性能就越好吗【详细介绍】
  10. AssertionError: backend 'postgresql' unavailable 与 AssertionError: backend 'mysql' unavailable