一开始学习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有详细讲解 传送门

最新文章

  1. Objective-C 编码建议
  2. 一个cheat命令 == Linux命令小抄大全
  3. Android: 触屏fling/scroll/drag的区别及其详细过程
  4. No http handler was found for request type 'GET'
  5. POST和Get辨析
  6. solr与.net主从复制
  7. 使用maven搭建环境
  8. IO流(File类,IO流的分类,字节流和字符流,转换流,缓冲流,对象序列化)
  9. 网络1712--c语言一二维数组作业总结
  10. centos系统升级PHP版本程序
  11. AutoCAD常用操作命令
  12. 2019-04-19 EasyWeb数据源问题
  13. fine-tuning 两阶段模型
  14. 一个select元素自定义设计的新思路:appearance: none之后利用<>符号制造小箭头
  15. Pl/SQL 编程
  16. 目标检测(五)YOLOv1—You Only Look Once:Unified,Real-Time Object Detection
  17. jquery 取子节点及当前节点属性值
  18. MYSQL查询优化:show profile
  19. @Transactional、Spring的声明式事务
  20. python 待关注库

热门文章

  1. 阿里云学习之API网关
  2. Hadoop源码学习之HDFS(一)
  3. RTLabel 的简单使用
  4. Zend Framework在windows下的安装
  5. Mysql主从复制_模式之日志点复制
  6. Spring boot 整合mybatis
  7. windows 如何编译 Openssl ?
  8. Java三大特性(封装,继承,多态)
  9. 《android开发艺术探索》读书笔记(二)--IPC机制
  10. 基础--Redis在Windows环境下的安装