• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
敬YES
Now Or Never
博客园    首页       联系   管理    订阅  订阅
从零开始MVC3—Music Store实例&Controller

1. 引言

MVC主要包括Model,View和Controller三部分,首先简单学习一下Controller,以MusicStore为实例,先有一个初步印象。

2. Music Store简介

MusicStore是一个非常好的学习实例,而且提供了非常详细的操作步骤。下载地址:http://mvcmusicstore.codeplex.com/

它是一个简单的音乐商店,主要包含三个功能模块:购物,结算和后台管理。

首先打开完整版,看一下运行效果:

clip_image002

clip_image003

3. 创建Music Store项目

然后从头开始,一步步搭建我们的音乐商店。

新建项目,选项设置如下图所示:

clip_image005

  • l Project template->Empty
  • l View engine->Razor
  • l User HTML5 semantic markup->选中

点击OK后查看解决方案发现已经创建了相应的文件夹。

clip_image006

4. Controller

在Web Form开发的时候,网站中的URL经常和网页文件所在的磁盘目录相对应的,例如:www.buy.com/Products.aspx可能对应着某个目录下的名为“Products.aspx”的文件。但是在MVC中不同,URL不是对应着具体的文件,而是对应着Controller类中的Controller Action方法。它负责处理HTML请求,操作用户的输入,进行数据读写,决定客户端的响应(如显示HTML,显示文件,页面跳转等)。

① 添加首页HomeController:右击Contoller->Add->Controller

clip_image008

clip_image010

我们看到生成的HomeController代码如下:

namespace MusicStore.Controllers
{
    public class HomeController : Controller
    {
        //
        // GET: /Home/
        public ActionResult Index()
        {
            return View();
        }
    }
}

我们修改一下Index()方法如下:

clip_image011

运行效果:

clip_image012

② 添加商店StoreController,然后添加三个响应URL请求的方法:

public class StoreController : Controller
   {
       public string Index()
       {
           return "Hello from Store.Index()";
       }
       public string Browse(string genre)
       {
           string strMsg =HttpUtility.HtmlEncode( "Store.Browse,Genre=" + genre);
           return strMsg;
       }
       public string Details(int ID)
       {
           string strMsg = "Store.Details,ID=" + ID;
           return strMsg;
       }
   }

③运行效果:
  • Index()方法:

clip_image013

  • Browse方法中传递参数的方式很容易理解,跟在WebForm开发的时候一样都是【?key=value】

clip_image014

  • Details()方法中传递参数的形式比较特殊,因为MVC中处理URL中ActionMethod后面的参数时,默认对应的参数名称为“ID”。

clip_image015

作者:陈敬(公众号:敬YES)
出处:http://www.cnblogs.com/janes/
博客文章仅供交流学习,请勿用于商业用途。如需转载,请务必注明出处。

posted on 2011-12-09 14:07  敬YES  阅读(1821)  评论(8)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3