*创建AspMVC项目
(1)会自动创建App_Data文件夹,是用户不能访问和下载的。一般用户能访问那些文件夹,可以在IIS中配置。
(2)App_Start文件夹,用于放置与程序有关的配置文件。
(3)Controller文件夹,专门用于放置给View提供数据的业务类,不再是作为前台aspx的父类。与weform的唯一改进。
(4)Models文件夹,用于放置仅与Controller中类用使用的工具类
(5)Views文件夹,内含有web.Config(可删)
*添加一个页面------最简单的控制器
(1)在Controllers右键,添加控制器,控制器类名都要以Controller来结尾,编译时才能识别为控制器,如HomeController
(2)控制器继承自Controller基类,那么就会自动生成:
public ActionResult Index()
{
return View();
}
(3) 在Index方法处,右键,添加视图,将发生:
在Views文件夹下,就有Home的文件夹,而且产生Index.aspx页面。
至此,有如下结论:
一个Controllers下,可以对应多个Action,一个Action能对应一个aspx页面。
如上述叫Home的Controller下,有叫Index的Action,同时,对应着Views文件夹下的Home文件夹,对应着Index.aspx页面。
*Controller规则:
1.以Controller结尾;
2.必须为非静态字段;
3.实现IController接口;
4.控制器下的所有方法都称为Action.
5.Views文件夹下不能随便放html之类,不然访问不到。
*Views下,有Shared文件夹,如果没有,可以自己添加,作用:控制器首先会到自己的文件夹下找到对应的视图,如果没有找到,就会到Shared中找
*MVC模型:用户---->请求http://localhost:8081/AControler/Action----->Model/BLL/DAL------>DB------>.....返回到Action---->产生View------>用户
*在webFrom中,请求一个Asp页面是http://localhost:8081/a.aspx
而在MVC中,则是http://localhost:8081/Controller/Action
*Action的三个职责:1.处理用户的请求:Request,Respone;2.调用业务逻辑;3.把数据传递给View进行展示。
*Asp Mvc的URL地址写法是有很多讲究的,如上述,如果要修改URL地址写法的规则,可以在Clobal.asax中修改,如下:
在Application_Start()方法中,有三个方法的静态类都放在Application_Start文件夹中,其中,可以在此设置默认的访问页,在RouteConfig类中,
可以RegisterRoutes中,设置请求地址规则,例如:url:"{controller}/{action}.html",那么就了在浏览器中输入URL的地址时,要加上.html才行。