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有详细讲解 传送门

你可能感兴趣的:(Asp.net mvc 5 razor)