ASP.NET MVC2(Visual Studio.NET 2010)学习之路(三)

首先要下载一个Visual Studio .NET 2010的安装镜像,本人用的是旗舰版。先欣赏一下界面:

image

开始实战了,点击菜单 文件->新建->项目(注意:不是网站,这个项目,有点类似于.NET 2003中的网站),选择ASP.NET MVC2 空 Web 应用程序。

image

以下,就是一个最基本的目录结构:

image

Content目录,主要放置一些图片、css样式;Controllers目录,用于放置MVC中的Controller;Models目录,用于放置MVC中的Model;Scripts目录,用于放置脚本文件,一般就是JS文件了;Views目录,用于放置MVC中的View。

展开Views目录,发现有一个Web.config文件,在上边有段话,

<httpHandlers>
  <add path="*" verb="*" type="System.Web.HttpNotFoundHandler"/>
</httpHandlers>

这是为了不让用户直接访问Views目录下的所有文件,在之前写的内容中提到过,MVC框架中,对页面的请求,采用了URL重定向。

我们再看一下Global.asax.cs,

    public class MvcApplication : System.Web.HttpApplication
    {
        public static void RegisterRoutes(RouteCollection routes)
        {
            routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

            routes.MapRoute(
                "Default", // 路由名称
                "{controller}/{action}/{id}", // 带有参数的 URL
                new { controller = "Home", action = "Index", id = UrlParameter.Optional }, // 参数默认值
                new string[] { "BookLunch.Controllers" }
            );

        }

        protected void Application_Start()
        {
            AreaRegistration.RegisterAllAreas();

            RegisterRoutes(RouteTable.Routes);
        }
    }

大家仔细看RegisterRotes方法中的routes.MapRoute的调用。第二参数,其实就是在定义路由规则。在实际请求中,如只输入http://localhost:2020,那么指定的controller、action、id都为空。这时,将调用第三个参数中指定的数据,也就是说相当于在请求http://localhost:2020/Home/Index。路由规则,也可以自己添加自定义的路由规则,但要遵循从特殊到一般的顺序来写。

posted @ 2010-07-10 17:03  Berkaroad  阅读(730)  评论(0编辑  收藏  举报