接触项目之后,首先需要了解C#生命周期,和java类似,C#里也有一个类似struts.xml的配置文件,位于App_Start文件夹下的RouteConfig.cs
1,第一步就是注册路由,类似要在web.xml里配置struts的拦截器,在C#里我们也需要创建Global.asax文件,用来注册路由,这样配置文件才能生效
2,第二步就是在App_Start文件夹下编写RouteConfig.cs文件,只要请求到达都会被路由到对应的控制器
该文件默认配置如下:
public class RouteConfig { public static void RegisterRoutes(RouteCollection routes) { routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); routes.MapRoute( name: "Default", url: "{controller}/{action}/{id}", defaults: new { action = "Index", id = UrlParameter.Optional } ); } }
正因为这样的默认配置,我们请求的url才要写成account/singin,这样请求会跳转到该控制器
3,该控制器的对应action方法处理完之后会将结果(默认是一个Model对象)返回给视图,而这个视图下文件夹是默认和控制器同名的,而视图的名和控制器里的action名是相同的,这样会直接定位。