控制器 
控制器接受用户的输入并调用模型和视图去完成用户的需求。所以当单击Web页面中的超链接和发送HTML表单时,

控制器本身不输出任何东西和做任何处理。它只是接收请求并决定调用哪个模型构件去处理请求,

然后用确定用哪个视图来显示模型处理返回的数据。

在设计 Controller之前,我们同样先看看控制器所在的文件夹位置:

Controller控制器接受用户请求,然后返回视图。控制器控制视图的产生。我们根据此软件的需求,设计所

需要的Controller。我们添加控制器就需要放到controller文件夹里。

我们为实现此软件的需求,目前我们需要三个Controller,分别是:GuangZhongController.cs,HomeController.cs,

PlayerController.cs,三个控制器分别返回不同的视图给用户,在这里,我们主要设计的是HomeController ,其他的当

我们创建的时候,系统会自动帮我们设计实现(下篇博客我们讲具体讲述这个问题),在这里,我们具体讲述一下HomeController;

右键单击,重命名控制器,选择空MVC控制器,如图:

然后点击确定,完成控制的创建;

控制器内根据需求可以使用系统自动生成的代码,具体代码如下:

  1. public class HomeController : Controller
  2. {
  3. //
  4. // GET: /Home/
  5.  
  6. public ActionResult Index()
  7. {
  8. return View();
  9. }
  10.  
  11. }

 右键单击Index添加视图,对controller的视图具体实现代码如下:

  1. @{
  2. ViewBag.Title = "计分软件";
  3. }
  4. <style>
  5.  
  6. div { width:200px;
  7. height:200px;
  8. margin:50px auto;
  9. border:1px solid red;
  10. background-color:#F1F1F1;
  11. padding-left:80px;
  12. padding-top:50px;
  13. }
  14. </style>
  15. <html>
  16. <head>
  17. <title>
  18. 计分软件
  19. </title>
  20. </head>
  21. <body>
  22. <div>
  23. <h1>排球计分</h1>
  24. <h2>
  25. @Html.ActionLink("观赛者", "Index","GuanZhong")
  26. @Html.ActionLink("运动员", "Index","Player")
  27. </h2>
  28. <p>现在时间是:@DateTime.Now.ToShortTimeString()</p>
  29. </div>
  30.  
  31. </body>
  32.  
  33. </html>

到这里对HomeController的设计就完成了,HomeController控制器是负责把软件的首界面返回给用户,

用来呈现软件的首操作界面。

在下篇博客中,我们将通过微软EF框架,codefirst,来实现数据库的连接,和

其余两个Controller的具体实现。

MVC实战之排球计分(五)—— Controller的设计与实现的更多相关文章

  1. MVC实战之排球计分软件(深入了解面向对象编程)

    在此篇博客之前,我已经写了一个实战系列的博客,虽然不太成熟但是相对比较实用,在这篇博客我将继续使用mvc编程此软件. 此篇博客会在一定的时间内完成,此次完成的软件的一个需求是提供给运动员的使用.我将在 ...

  2. MVC实战之排球计分(七)——软件的具体实现与测试

    在前面的几篇博客中咱们已经写过了软件的大概实现,在这篇博客中将讲述此软件的具体实现与测试. 1,新建一个项目,命名为:Volleyball,选择基本模板.如图: 点击确定.创建项目. 2,右键单击mo ...

  3. MVC实战之排球计分(八)——软件制作总结

    此系列博客目的是制作一款排球计分程序.这系列博客将讲述此软件的 各个功能的设计与实现.到这篇博客,此系列博客就算是结束了. 在最后的这篇博客里 我们来做一些总结. 一,制作此程序,我们使用的是MVC框 ...

  4. MVC实战之排球计分(一)—— 需求分析与数据库设计

    此系列博客目的是制作一款排球计分程序.这系列博客讲讲述此软件的 各个功能的设计与实现. 一.需求分析: 这个程序是排球计分程序,其业务非常简单,具体如下: 1.本程序可以选择用户身份,通过不同角度记录 ...

  5. MVC实战之排球计分(六)—— 使用EF框架,创建Controller,生成数据库。

    在上篇博客我们写到,此软件的数据库连接我们使用的是EF框架,code first模式下, 通过模型类,在创建controller的时候直接生成数据库,完成数据库的连接,与操作. 在使用EF框架之前,我 ...

  6. MVC实战之排球计分(二)—— 构架概要设计

    本程序主要基于MVC4框架,使应用程序的输入,处理和输出强制性分开,使得软件可维护性,可扩展性,灵活性以及封装性得到提高, MVC应用程序分为三个核心部件:Model,View, Controller ...

  7. MVC实战之排球计分(三)—— 模型类的设计与实现

    此软件使用的数据库连接方式code first 由EF框架产生数据库. code first需要对模型类设计和实现.模型类是现实实体在计算机中的表示.它贯穿于整个架构, 负担着在各层次及模块间传递数据 ...

  8. MVC实战之排球计分(四)—— View设计与实现

    (view)视图 视图是用户看到并与之交互的界面.对老式的Web应用程序来说,视图就是由HTML元素组成的界面,在新式的Web应用程序中,HTML依旧在视图中扮演着重要的角色,但一些新的技术已层出不穷 ...

  9. 总结/PSP初体验—排球计分程序1.0

    要做一个排球计分程序,墨迹了很长时间才做出个的东西,过程很不爽: 功能:这个软件有两个页面,可以实现窗体A的部分变化控制窗体B的部分变化.A是操作人员使用看到的,B是投放给观众的,完全由A操控: 学到 ...

随机推荐

  1. EFM32G232F64时钟树

    1.为了熟悉MCU的时钟树,先看看EFM32G232F64的CMU(ClockManagementUnit) 时钟管理单元(CMU)用于管控晶振(时钟源)和各个时钟节点.出于降低功耗和启动时间的目的, ...

  2. (3.1)mysql备份与恢复之mysqldump

    目录: 1.单实例联系 1.1.备份单个数据库联系多种参数使用 [1]mysqldump命令备份演示 [2]查看备份文件 [3]用备份文件还原 1.2.mysqldump 各类参数释义 [1]--de ...

  3. db2常见错误代码及原因

    sqlcode sqlstate 说明000 00000 SQL语句成功完成01xxx SQL语句成功完成,但是有警告+012 01545 未限定的列名被解释为一个有相互关系的引用+098 01568 ...

  4. 使用dbeaver查mysql的表会导致锁表的问题

    查询完成之后接着需要使用rollback,不然其它session没法执行语句.

  5. Python学习笔记(1)__name__变量

    这是我在网上找到的一篇文章的标题. 本着学会了才是自己的,所以标题不变,自己试着再写一遍. 问题:__name__是什么? 背景:在学习编程规范的时候,我被要求函数的调用只能在__main()函数中使 ...

  6. java,利用Selenium调用浏览器,动态模拟浏览器事件,动态获取页面信息

    1.环境搭建 jdk1.6版本:selenium 2.4版本. jdk1.8版本:selenium3.14版本. (1)selenium的jar包下载: 地址:http://selenium-rele ...

  7. SPOJ - AMR11E

    Arithmancy is Draco Malfoy's favorite subject, but what spoils it for him is that Hermione Granger i ...

  8. Netty源码分析之服务端启动

    Netty服务端启动代码: public final class EchoServer { static final int PORT = Integer.parseInt(System.getPro ...

  9. Docker Overlay 介绍

    Overlay Network Overlay Network:属于Docker网络驱动,基于VXLAN封装实现Docker原生Overlay网络. Overlay Network:覆盖网络,在基础网 ...

  10. JavaScript 声明全局变量和局部变量

    JS中声明全局变量主要分为显式声明或者隐式声明下面分别介绍. 声明方式一: 使用var(关键字)+变量名(标识符)的方式在function外部声明,即为全局变量,否则在function声明的是局部变量 ...