Asp.net mvc 5 razor
一开始学习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有详细讲解 传送门
上一篇: Java基础--day05
下一篇: Asp.Net初学小结
推荐阅读
-
vs2015/vs2013中mvc5 viewbag总是出现问题该怎么办?
-
MVC5项目转.Net Core 2.2学习与填坑记录(1)
-
ASP.NET第一次访问慢的解决方法(MVC,Web Api)
-
创建基于ASP.NET core 3.1 的RazorPagesMovie项目(三)-已搭建基架的Razor页面解释和更新
-
构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(24)-权限管理系统-将权限授权给角色
-
MVC中基于Ajax和HTML5实现文件上传功能
-
asp.net core项目mvc权限控制:分配权限
-
asp.net core mvc权限控制:在视图中控制操作权限
-
详解使用asp.net mvc部分视图渲染html
-
详解ASP.NET MVC之下拉框绑定四种方式