HuiTai

MVC4的Controller(控制器)!还是音乐商店的例子!

开始写我们的第一个Contrller!

我们第一个控制器主要负责一下几点:

  • 首页列出了你的商店进行音乐流派
  • 点击一个流派,到目标网页浏览,该页列出所有的音乐专辑
  • 点击一张专辑详细信息页面,显示一个特定的音乐信息专辑

OK!来创建我们第一个的Controller,详情如下图1.

图1.Controller命名为"StoreController"。

开始写我们第一个Action(动作)!

当我们创建完StoreController控制器时,VS为为我们自动创建(生成)一个Index方法(Action),这个就是我后面音乐商店的首页,展示我们的音乐流派,我们还需要2个方法来实现其他两种情况!

这些Action方法(参数)在你的控制器被称为控制器动作。正如你已经看到的HomeController.Index()的操作方法,他们的工作是为了响应URL请求,执行相应的操作,并返回给浏览者。

来看下Action是怎么的一个运作原理:

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

上面的Index方法返回的一段字符串,而不是一个ActionResult类型!让我们其他的两个Action方法和这个Index方法一样也来返回一段字符,具体代码如下:

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

namespace MusicStore.Controllers
{
    public class StoreController : Controller
    {
        //
        // GET: /Store/

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

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


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

    }
}

 OK,当我们写完这些东西的时候,我们就可以访问一下的几个URL:

  • /Store
  • /Store/Browse
  • /Store/Details

我们试着访问下"/Store/Details",运行结果如下图2.

图2

经过观察,我们可以得出一些结论:

  1. 浏览/Store/Details引起了StoreController类的方法(Details)被执行,没有任何额外的配置。这是路由的行动.
  2. 我们使用Visual Studio工具来创建控制器类,这是一个非常简单的类。我们知道这是一个控制器类,它继承System.Web.Mvc.Controller.
  3.  我们没有使用一个模型或视图。虽然模型和视图是非常有用的,在ASP.NET MVC中,控制器真正的心脏。每个请求都通过一个控制器,而一些不需要
    利用模型和视图。

 控制器中的参数

关于方法中的参数,下面列举几个简单的例子,例如下面代码:

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

运行下,在URL后面跟个参数试试,运行结果如下图3.

图3.

小小总结一下:

控制器是MVC应用程序中的导体,紧密编排的相互作用的用户的模型对象,和 视图。他们是负责响应用户的输入到对应的Action(行动)上,操作适当的模型对象,然后选择相应的视图显示呈现给用户。OK,就先介绍到这里,后续继续,希望各位前辈,朋友多多指导!

分类:

技术点:

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-09-30
  • 2021-06-07
  • 2022-02-02
  • 2021-10-09
猜你喜欢
  • 2022-12-23
  • 2021-08-13
  • 2022-12-23
  • 2022-01-01
  • 2022-02-02
  • 2021-12-04
相关资源
相似解决方案