欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

第一二章 项目搭建与控制器

程序员文章站 2024-02-16 10:45:52
...

开发环境: VS2013

服务器要求:framework 4.5

官方教程: msdn


一、创建 ASP.NET MVC 5 应用程序

1.1 创建项目, 名称: MvcMusicStore  (注意:没有单独的 MVC 项目类型, 两者合并了)

第一二章 项目搭建与控制器

1.2  选择模板及相关选项。将创建一个WEB应用程序和一个单元测试。

第一二章 项目搭建与控制器


1.3 创建好的项目的目录结构如下:

第一二章 项目搭建与控制器

1.4  默认的*目录

目录 用途
/Controllers 保存处理URL请求的Controller类
/Models 保存那些表示和操纵数据以及业务对象的类
/Views 保存那些负责呈现输出结果(如HTML)的UI模板文件
/Scripts 保存 javascript 文件( .js )
/fonts 保存BootStrap 模板系统包含的一些自定义WEB字体
/Content 保存CSS、图像和其他站点内容,而非脚本
/App_Data 存储要读取、写入的数据文件
/App_Start 保存一些功能的配置代码,如路由、捆绑和WEB API

二、控制器

2.1  尝试修改:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;

namespace MvcMusicStore2.Controllers
{
    public class HomeController : Controller
    {
        public ActionResult Index()
        {
            return View();
        }

        public ActionResult About()
        {
            //ViewBag.Message = "Your application description page.";
            ViewBag.Message = "I like cake!";

            return View();
        }

        public ActionResult Contact()
        {
            ViewBag.Message = "Your contact page.";

            return View();
        }
    }
}

F5 运行,

http://localhost:58942/Home/About

 点击 About 后:

第一二章 项目搭建与控制器


2.2 添加控制器: StoreController

第一二章 项目搭建与控制器


第一二章 项目搭建与控制器

第一二章 项目搭建与控制器

更改一下代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;

namespace MvcMusicStore2.Controllers
{
    public class StoreController : Controller
    {
        /*
        // GET: Store
        public ActionResult Index()
        {
            return View();
        }*/

        // GET: Store
        public string Index()
        {
            return "Hello from Store.Index()";
        }

        public string Browse(string genre)
        {
            string message = HttpUtility.HtmlEncode("Store.Browse, Genre = " + genre);
            return message;
        }

        public string Details(int id)
        {
            string message = "Store.Details, ID = " + id;
            return message;
        }
    }
}

F5 浏览下列URL

/Store

/Store/Browse?genre=Disco

/Store/Details/5

约定优于配置, 虽然没有配置什么, 但根据约定, 控制器得到了相关的参数及ID。




下面是如何确定网站的起始页

方法一:

第一二章 项目搭建与控制器


方法二: 更改 App_Start 目录下的 RouteConfig.cs 文件

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Web.Routing;

namespace MvcMusicStore2
{
    public class RouteConfig
    {
        public static void RegisterRoutes(RouteCollection routes)
        {
            routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

            routes.MapRoute(
                name: "Default",
                url: "{controller}/{action}/{id}",
                defaults: new { controller = "Store", action = "Details", id = 5 }
            );
        }
    }
}

两者同时设置时, 方法一要优先于方法二