1、新建项目
2、选择MVC模板
3、MVC框架简介
(1)App_Data: 该文件夹主要是包含应用程序的本地存储, 它通常以文件形式(如Microsoft SQL Server数据库文件, XML文件等)包含数据存储。
(2)App_Start: 该文件夹包含应用程序的配置逻辑文件, 具体包括BundleConfig.cs, FilterConfig.cs, RouteConfig.cs, Startup.Auth.cs。
BundleConfig.cs: 注册所使用的捆绑的CSS 和 JS文件。
FilterConfig.cs: 注册外部/全局过滤器,这些过滤器可以被应用到每个Action和Controller中去.
RouteConfig.cs: 配置MVC应用程序的系统路由路径。
Startup.Auth.cs: 配置MVC应用程序的安全信息,包括Authentication和Authorization配置以及第三方Authentication Provider
(3)Content: 该文件夹被推荐用于存储静态内容文件类似CSS 和 (图片)Images。
(4)Controllers:顾名思义,该文件夹用于存储所有的控制器且控制器必须以"Controller"结尾。
(5)fonts: 该文件夹用于存储MVC应用程序可能用到的字体文件。
(6)Models: 该文件夹用于存储应用程序实体模型类, 实体类可以定义对象以及应用程序逻辑。
(7)Scripts: 该文件夹默认存储ASP.NET Ajax Foundation files和Jquery.主要被用来存储应用程序所支持的脚本(JS)文件。
(8)Views: 该文件夹主要用来存储MVC应用程序所使用的.cshtml网页,Account是账户页面,Home是主页面,Shared共享页面。
(9)Gobal.asax:
(摘自MSDN)这里的Global.asax主要是web应用程序的全局设置文件,该文件包含响应 ASP.NET 或HTTP模块所引发的应用程序级别和会话级别事件的代码。Global.asax 文件驻留在 ASP.NET 应用程序的根目录中。运行时,分析 Global.asax 并将其编译到一个动态生成的 .NET Framework 类,该类是从HttpApplication基类派生的。配置 ASP.NET,以便自动拒绝对 Global.asax 文件的任何直接的 URL 请求;外部用户不能下载或查看其中的代码。Global.asax 文件是可选的。只在希望处理应用程序事件或会话事件时,才应创建它。
(10)Web.config:
((摘自MSDN)Web.config文件是一个XML文本文件,它用来储存ASP.NETWeb 应用程序的配置信息(如最常用的设置ASP.NETWeb 应用程序的身份验证方式),它可以出现在应用程序的每一个目录中。当你通过.NET新建一个Web应用程序后,默认情况下会在根目录自动创建一个默认的Web.config文件,包括默认的配置设置,所有的子目录都继承它的配置设置。如果你想修改子目录的配置设置,你可以在该子目录下新建一个Web.config文件。它可以提供除从父目录继承的配置信息以外的配置信息,也可以重写或修改父目录中定义的设置。
在运行时对Web.config文件的修改不需要重启服务就可以生效(注: 节例外)。当然Web.config文件是可以扩展的。你可以自定义新配置参数并编写配置节处理程序以对它们进行处理。
(11)Startup.cs:
重点介绍下Startup.cs文件:
这个文件主要是提供给OWIN(Open Web Interface for .NEt)应用程序使用,OWIN的目的是为了解耦服务器应用程序。例如在ASP.NET Identity使用OWIN security, SignalR self hosting使用OWIN hosting等情况下, 我们的MVC应用程序都有使用到OWIN, 所以,他们都相应的会使用到startup.cs所定义的Startup class. 关于OWIN的应用这里不作详述,这里提到OWN主要是为了说明Startup.cs文件的使用
4、程序执行流程
(1)软件启动
启动 ——>> Global.asax ——>> Startup.cs ——>> index.cshtml ——>> _Layout.cshtml ——>> _LoginPartial.cshtml
(2)点击页面上 注册 选项
页面事件 ——>> AccountControler.cs ——>> IdentityModel.cs ——>> _ViewStart.cshtml ——>> Register.cshtml
——>> _Layout.cshtml ——>> _LoginPartial.cshtml