asp.net mvc 中的 MVC 架构,主要是用来产生一个(相对复杂一点的)html 页面,这一个页面的繁复的内容在服务器端下载 html 之前就绑定好了。也就是说,倾向于(对前端来说)静态的 html 页面,但是在服务器端又需要动态绑定,使用 MVC。
那么你说的“前后端分离”,其实说的更加明确、更加有勇气一点,就是在这个上面抛弃服务器端的界面开发,而使用前端的框架来开发界面,也就是说前端页面在浏览器上就好像桌面程序一样地动态产生交互画面,服务器端程序根本不关心、也不开发界面。假设你真的要前后端分离,如果你不学前端交互式应用框架、仅仅学 asp.net mvc 中的页面、还在沉浸在 asp.net mvc 的页面 View 绑定和 return 输出的这方面,那就等于没学啊?!
好像是桌面程序,它访问服务器来进行业务逻辑层访问,它自身负责客户端表现层处理。
那么 web 前端程序也是一样,它(比如说只是一个单页面 html 文件)在浏览器运行起来之后访问你的 asp.net 网站,那么你的网站还有什么 MVC 呢?如果你在服务器端纠结 MVC 那就彻底掉“坑里”了,服asp.net 里边的 V 和 C 都没用了,你只要处理网络 Model 的上行请求、返回给前端数据 Model 就行了。