一开始学习dotnet的web项目是Asp.net webform,完全不理解项目为什么要这样设计,就简单的使用ajax调用后台的代码不好吗?为什么还要搞一些什么代码后置的东东。

还有就是有各种加载问题,比如一个页面在后台文件中继承了PageBase,你总得要为这个加载顺序忙上一段时间,好烦。

Asp.net mvc

幸亏在我开发的项目中没怎么用Asp.net webform不然我肯定会疯掉的,用的而是Asp.net mvc。mvc模式用起来简直太爽了,Controllers文件夹下放着所有控制器,在View文件夹下有对应控制器的页面。

虽然用着很爽,但是偶尔还是会碰到有的项目在HTML里会有一些看上去是后台代码的东西。

一般对待这种情况,如果项目里的代码能看懂的话就用项目里的代码,反之就把该功能重新实现一下。

偶尔用到但是却不知道这是什么鬼,所以决定学习一下。

Razor

原来在cshtml文件中的那些带@符的后台代码叫Razor。好像主要目的就是为了简化前端代码。

之前看过一篇文章,说的是如果一个web网站只有简单的几个页面的话创建一个Asp.net mvc项目就有点小题大做了,倒不如创建一个Razor项目。

确实,一个简单的web网站创建好多个控制器与之对应是有点麻烦。所以我打开了巨硬(微软)的doc,原来用dotnet cli的dotnet new razor命令就可以轻松创建一个razor项目。

Razor结构图

Pages文件夹

创建完了之后和mvc项目基本一样,只不过没有了controllers文件夹,但是和webform有点类似的是在pages文件夹下可以创建对应cshtml的cs文件。这样就可以把后台代码写到对应的cs文件中了。

Razor 语法的组成部分

  • 隐式Razor表达式
  • 显示Razor表达式
  • 表达式编码
  • Razor代码块
  • 控制结构
  • 指令
  • 标记帮助程序
  • Razor保留关键字
  • 查看为视图生成的Razor C#类
  • 视图查找和区分大小写

以上内容在微软doc有详细讲解 传送门

Asp.net mvc 5 razor的更多相关文章

  1. ASP.NET MVC (Razor)开发

    ASP.NET MVC (Razor)开发 过去我们使用过一些周报工具来完成项目组或部门的周报填写与考核工作,但多少有些不理想,要么功能太过简单,要么功能特别繁杂,不接地气,使用不便. 后来我们就考虑 ...

  2. ASP.NET MVC 3: Razor中的@:和语法

    原文 ASP.NET MVC 3: Razor中的@:和语法 [原文发表地址] ASP.NET MVC 3: Razor’s @: and <text> syntax[原文发表时间] De ...

  3. ASP.NET MVC:Razor 引入命名空间

    原文:ASP.NET MVC:Razor 引入命名空间 页面中引用 c# @using MvcApplication83.Models @using MvcApplication83.Common 行 ...

  4. ASP.NET MVC 自定义Razor视图WorkContext

    概述 1.在ASP.NET MVC项目开发的过程中,我们经常需要在cshtml的视图层输出一些公用信息 比如:页面Title.服务器日期时间.页面关键字.关键字描述.系统版本号.资源版本号等 2.普通 ...

  5. ASP.NET MVC (Razor)开发<<周报与绩效考核系统>>,并免费提供园友们使用~~~

    过去我们使用过一些周报工具来完成项目组或部门的周报填写与考核工作,但多少有些不理想,要么功能太过简单,要么功能特别繁杂,不接地气,使用不便. 后来我们就考虑自己开发一个简单的,实用的,易用的,接地气的 ...

  6. ASP.NET MVC 3 Razor Views in SharePoint

    http://tqcblog.com/2011/01/22/asp-net-mvc-3-razor-views-in-sharepoint/ ASP.NET MVC 3 has just been r ...

  7. ASP.NET MVC 利用Razor引擎生成静态页

    实现原理及步骤: 1.通过ViewEngines.Engines.FindView查找到对应的视图,如果是部分视图,则用:ViewEngines.Engines.FindPartialView: 2. ...

  8. ASP.NET MVC 3 Razor 视图引擎 基本语法

    本篇博文将进入MVC 3 的世界了,首先学习一下MVC 3 新增的Razor视图引擎的基本语法. 1. 使用 @ 字符将代码添加到页面中.正如传统的aspx视图的<% %>相同.      ...

  9. Asp.net MVC在Razor中输出Html的两种方式

    http://qubernet.blog.163.com/blog/static/177947284201485104616368/ Razor中所有的Html都会自动编码,这样就不需要我们手动去编码 ...

随机推荐

  1. User Parameters(用户参数)

      User Parameters(用户参数),这个是整个zabbix的重点 Zabbix有很多内置的itemkey,但是这些key都是由Zabbix定义好的比较通用的监控项的实现, 如果我们自己想实 ...

  2. LeetCode - 307. Range Sum Query - Mutable

    Given an integer array nums, find the sum of the elements between indices i and j (i ≤ j), inclusive ...

  3. jquary 单选,多选,select 获取和设置值 jquary自定义函数

    <%@ page contentType="text/html; charset=UTF-8"%> <%@ taglib prefix="c" ...

  4. Rsync(远程同步): linux中Rsync命令的实际示例

    rsync的 ( 远程同步 )为在Linux / Unix系统局部 拷贝和同步文件和目录远程以及一个最常用的命令. 随着rsync命令的帮助,您可以复制并在目录中远程和本地同步数据,在磁盘和网络,进行 ...

  5. centos 手动增加swap分区

    SWAP是Linux中的虚拟内存,用于扩充物理内存不足而用来存储临时数据存在的.它类似于Windows中的虚拟内存.在Windows中,只可以使用文件来当作虚拟内存.而linux可以文件或者分区来当作 ...

  6. 描述进程的PCB

    body, table{font-family: 微软雅黑; font-size: 10pt} table{border-collapse: collapse; border: solid gray; ...

  7. .NET常用第三方库(包)总结

    文章会不定期更新,以下内容均为个人总结,欢迎各位拍砖指正 序列化与反序列化 JSON.NET应该是.NET平台上使用最为广泛的序列化/反序列化包了,ASP.NET和ASP.NET Core中默认序列化 ...

  8. 【linux之find及awk】

    一.find命令 find 精确查找,根据提供的条件或组合条件进行查找,遍历所有文件,因此速度比较慢. 语法: find 目录 条件 动作 默认目录是当前目录默认条件是所有条件默认动作是显示查找到的信 ...

  9. 【记录】.net 通用log4net日志配置

    asp.net mvc 1.引入log4netNuGet包. 2.修改Global.asax下的Application_Start方法.加入log4net.Config.XmlConfigurator ...

  10. 关于eclipse的mysql连接配置

    打开eclipse,选择Window→Open Perspective→Other→Database Development,然后在右边的导航栏右键点击Database Connections文件夹, ...