读书频道 > 网站 > 网页设计 > ASP.NETMVC5高级编程(第5版)
2.3.2 创建第一个控制器
15-04-21    下载编辑
收藏    我要投稿   

本文所属图书 > ASP.NETMVC5高级编程(第5版)

作为Microsoft备受欢迎的MVC技术的最新版本,MVC 5是一个成熟的Web应用程序框架,支持快速的、TDD友好的开发。MVC允许开发人员创建动态的、数据驱动的网站。这样的网站具有复杂的功能,如单页面应用程序、针对移立即去当当网订购

首先创建一个控制器来处理有关浏览音乐目录的URL。这个控制器支持以下三个功能:

●索引页面列出商店里包含的音乐类型。

●单击一个流派,跳转到一个列出该流派下所有音乐专辑的页面。

●单击一个专辑,跳转到一个列出有关该专辑所有信息的页面。

1. 创建新控制器

为创建控制器,首先添加一个新的StoreController类。具体方法是:

(1) 右击Solution Explorer下的Controllers文件夹,选择Add | Controller菜单项,如图2-10所示。

(2) 选择MVC 5 Controller-Empty基架模板,如图2-11所示。

(3) 将控制器命名为StoreController,然后单击Add按钮,如图2-12所示。



 

2. 编写操作方法

新创建的StoreController控制器已经有了一个Index方法,下面将利用这个Index方法实现在页面上列出音乐商店里所有歌曲流派的功能。另外,还需要添加两个额外的方法来实现上述其他两项功能,这两个方法分别是Browse和Details。

控制器中的这些方法(Index、Browse和Details)称为控制器操作。正如上述的Home- Controller.Index()操作方法那样,控制器操作的工作是响应URL请求,执行正确的操作,并向浏览器或是单击这个URL的用户做出响应。

要了解控制器操作的工作原理,可按照以下步骤操作:

(1) 将Index()方法的签名改为string(而不是ActionResult),然后将返回值改为“Hello from Store.Index()”,如下所示:

 

//
// GET: /Store/
public string Index()
{
return "Hello from Store.Index()";
}
(2) 添加对商店的Browse操作方法,将返回值设为“Hello from Store.Browse()”;添加Details操作方法,将返回值设为“Hello from Store.Details()”。控制器StoreController的完整代码如下所示:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;

namespace MvcMusicStore.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()";
}
}
}

(3) 重新运行项目,然后浏览以下URL:

●/Store

●/Store/Browse

●/Store/Details

访问这些URL会调用控制器中的操作方法,然后返回响应字符串,如图2-13所示。


 

3. 经验总结

从以上这个简单实验中可以得出以下几个结论:

●不需要做任何额外配置,浏览到/Store/Details就可以执行StoreController类中的Details方法,这就是操作中的路由。本章后面还会对路由稍做介绍,第9章将对此进行详细介绍。

●尽管是使用Visual Studio工具来创建这个控制器类,但它的确是一个非常简单的类。判别一个类是否是控制器类的唯一方式,就是查看该类是否继承自System.Web. Mvc.Controller。

●已经利用一个控制器在浏览器中显示了文本—— 没有用到模型和视图。尽管在ASP.NET MVC中模型和视图非常有用,但控制器才是真正的核心。每一个请求都必须通过控制器处理,然而其中有些请求是不需要模型和视图的。


点击复制链接 与好友分享!回本站首页
分享到: 更多
您对本文章有什么意见或着疑问吗?请到论坛讨论您的关注和建议是我们前行的参考和动力  
上一篇:1.3 功能
下一篇:1.5 小结
相关文章
图文推荐
JavaScript网页动画设
1.9 响应式
1.8 登陆页式
1.7 主题式
排行
热门
文章
下载
读书

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训
版权所有: 红黑联盟--致力于做最好的IT技术学习网站