在前面的几篇博客中咱们已经写过了软件的大概实现,在这篇博客中将讲述此软件的具体实现与测试。

1,新建一个项目,命名为:Volleyball,选择基本模板。如图:

点击确定。创建项目。

2,右键单击model文件夹,添加模型类:模型类分别是:GzScore.cs和Players.cs

具体代码如下:

GzScore.cs

public class GZScore
{
public int ID { get; set; }
[DisplayName("队伍名称")]
public string teamName { get; set; }
[DisplayName("队员号码")]
public string num { get; set; }
[DisplayName("发球得分")]
public int faqiu{ get; set; }
[DisplayName("扣球得分")]
public int kouqiu { get; set; }
[DisplayName("拦网得分")]
public int langwang { get; set; }
[DisplayName("助攻得分")]
public int zhugong{ get; set; }
[DisplayName("队伍总分")]
public int totalscore { get; set; }
}
public class gDBContext : DbContext
{
public DbSet<GZScore> Students { get; set; }
}

Players.cs

public class Players
{
public int ID { get; set; }
[DisplayName("发球得分")]
public int faqiu { get; set; }
[DisplayName("扣球得分")]
public int kouqiu { get; set; }
[DisplayName("拦网得分")]
public int langwang { get; set; }
[DisplayName("助攻得分")]
public int zhugong { get; set; }
[DisplayName("个人优点")]
public string youdian { get; set; }
[DisplayName("失误")]
public string shiwu { get; set; }
[DisplayName("总结")]
public string zongjie { get; set; } }
public class pDBContext : DbContext
{
public DbSet<Players> player { get; set; }
}

模型类创建完毕后,要生成一下,也是为下一步创建控制器做铺垫。

3.右键单击controller文件夹,选择添加控制器,然后改名为homecontroller,然后点击确定;

右键单击控制器内的Index方法,为其添加视图:具体代码如下:

@{
ViewBag.Title = "计分软件";
}
<style> div { width:200px;
height:200px;
margin:50px auto;
border:1px solid red;
background-color:#F1F1F1;
padding-left:80px;
padding-top:50px;
}
</style>
<html>
<head>
<title>
计分软件
</title>
</head>
<body>
<div>
<h1>排球计分</h1>
<h2>
@Html.ActionLink("观赛者", "Index","GuanZhong")
@Html.ActionLink("运动员", "Index","Player")
</h2>
<p>现在时间是:@DateTime.Now.ToShortTimeString()</p>
</div> </body> </html>

软件主视图创建完毕后,开始下一步操作。创建用户的控制器并连接数据库。

4,右键单击controller 文件夹,点击添加,添加控制器,控制器名字改写为:GuanZhongController

模板选择:包含读写操作的和视图的MVC,

模型类选择刚才创建的模型类:GZScore (VolleyBall.Models),数据上下文类选择:gDBContext (VolleyBall.Models)

具体操作如图:

右键单击controller 文件夹,点击添加,添加控制器,控制器名字改写为:GuanZhongController

模板选择:包含读写操作的和视图的MVC,

模型类选择刚才创建的模型类:GZScore (VolleyBall.Models),数据上下文类选择:gDBContext (VolleyBall.Models)

具体操作如图:

选择添加后,系统会自动帮我们生成,controller的视图控制代码;

当我们添加控制器后,系统还会自动给我们在视图问文件夹下生成该控制器

的视图文件夹,并产生五个对数据操作的视图;

如图文件夹的位置与文件:

创建第二个控制器,和上一个步骤相同,在这里就不在编写。

当我们创建好控制器后,这时候我们的软件已经和数据库连接了,

我们可以根据系统为我们生成的视图去操作数据。

5,系统为我们生成视图后,我们需要对视图进行修改,进行页面的美化。

这时候我们就用到了CSS修饰;具体代码如下:

1,主页的CSS代码:

<style>

    div { width:700px;
height:500px;
margin:50px auto;
border:1px solid red;
background-color:#F1F1F1;
padding-left:80px;
padding-top:50px;
}
.two {
color:green;
}
.three {
text-align:right;
}
</style>

2.其他页的CSS:

<style>
.one { width:700px;
height:500px;
margin:50px auto;
border:1px solid red;
background-color:#F1F1F1;
padding-left:80px;
padding-top:50px;
}
</style>

这些代码修饰了视图界面。

到这里我们的软件就基本完成了。

下面让我们对软件功能做一些测试,及功能的使用:

1,主视图的呈现,如图:

测试完好。主视图能很好的展现给用户。

观赛者按钮的点击,以及观赛者的操作界面,如图:

观赛者添加记录页面:

删除界面:

编辑界面:

记录详细页面:

经过测试。这些功能都能很好的实现。

运动员按钮的点击,以及操作界面,如图:

添加记录页面:

删除页面:

测试了软件的功能,都能实现其功能。

到这里,排球计分程序小软件,算是完成了初步的功能与实现。

也可以使用它的功能来记录分数了,在未来的日子里,还将要对此软件

进行更深一步的研究,与设计,目前此软件的功能就先做到这里。到这里,

我们的博客也快要结束了。在下篇博客中,也就是目前最后一篇博客里,我们

将要讲述对此软件制作的总结与经验,也算是对此软件制作的一个小收尾。

 

MVC实战之排球计分(七)——软件的具体实现与测试的更多相关文章

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

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

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

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

  3. MVC实战之排球计分(五)—— Controller的设计与实现

    控制器 控制器接受用户的输入并调用模型和视图去完成用户的需求.所以当单击Web页面中的超链接和发送HTML表单时, 控制器本身不输出任何东西和做任何处理.它只是接收请求并决定调用哪个模型构件去处理请求 ...

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

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

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

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

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

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

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

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

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

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

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

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

随机推荐

  1. layui上传文件前端报404,实际文件已经上传成功

    原因:上传回调的方法接收的参数应该是json格式的,之前返回的是String,所以一直走异常的方法 第一种 在后台上加上@ResponseBody 第二种 @ResponseBody @Request ...

  2. php-memcache基本用法

    //create a memcache object        $mem = new Memcache(); //create connection        $mem->connect ...

  3. numactl 修改 非统一内存访问架构 NUMA(Non Uniform Memory Access Architecture)模式

    当今数据计算领域的主要应用程序和模型可大致分为三大类: (1)联机事务处理(OLTP). (2)决策支持系统(DSS) (3)企业信息通讯(BusinessCommunications) 上述三类系统 ...

  4. 代码中特殊的注释技术——TODO、FIXME和XXX的用处(转)

    1.声明 本篇转自博客:http://blog.csdn.net/reille/ 2.转载内容 2.1.前言 今天在阅读 Qt Creator 的源代码时,发现一些注释中有 FIXME 英文单词,用英 ...

  5. shiro 角色与权限的解读

    1.为什么 shiro 有了<角色>后,还要设置<角色权限>呢?(问题) 思考:设置好角色了,那么就代表什么操作都可以执行了吗? 理解:如果上边回答是的话,那么只是<角色 ...

  6. java之项目构建工具Gradle

    介绍 Java 作为一门世界级主流编程语言,有一款高效易用的项目管理工具是 java 开发者共同追求的心愿和目标.显示 2000 年的 Ant,后有 2004 年的 Maven 两个工具的诞生,都在 ...

  7. 初识GitHub之GitHub issues

    事实上,GitHub最重要的一个功能之一就是Issue(问题),有了Issue,极大地提高了用户的互动性,也同时推动了代码的发展,因为一人智短,众人拾柴火焰高. 在他人的仓库中,我们发现了需要的代码, ...

  8. Mysql授权root用户远程登录

    默认情况下Mysql的root用户不支持远程登录,使用以下命令授权   [Charles@localhost ~]$ mysql -uroot -p123 MariaDB [(none)]> u ...

  9. IP地址和子网划分学习笔记之《IP地址详解》

    2018-05-03 18:47:37   在学习IP地址和子网划分前,必须对进制计数有一定了解,尤其是二进制和十进制之间的相互转换,对于我们掌握IP地址和子网的划分非常有帮助,可参看如下目录详文. ...

  10. 152. Maximum Product Subarray(动态规划)

    Given an integer array nums, find the contiguous subarray within an array (containing at least one n ...