MVC 5展现、创造、编辑、删除等职能实练

在前些天的学习小结中《15天学习MVC后的下结论(分享经验与想法)http://www.cnblogs.com/insus/p/3369870.html 知道学习与练习进度中,走了一部分弯路。分享出来将来,最大的获取,就是赢得网友们的指引。

明日Insus.NET想再起其余3个案例来排练,集中来演示MVC的最要效益,彰显数据,突显单数据,创造添加多少,编辑更新数据和删除数据等。修正从前不足的办法,优化繁杂的代码,以及把前几日学习领悟的学问也一块儿享受出去。

数据库可以从下面链接下载:http://download.cnblogs.com/insus/SQL/DataBases/Tutorial2013Oct16.rar 它是SQL
Server 二零一一数据库备份文件,你可以复苏至 二零一一或更新版本,如SQL Server
2015的数据库上。
为了不用復苏数据库,也能来看数据表结构,可以参照上边的表结构与仓储进度:
图片 1

这张表[dbo].[FruitKind]是这一次的以身作则的主演,其中有1个字段[FruitCategory_nbr]是四个外键,约等于前段时间学习中数据表的主键。在多少为成立好表之后,我们还亟需创设一文山会海的囤积进度,由于此表有外键,也表明了这是多表关联。由此先写好一个表函数,即是表关联:

图片 2

上面的积存进程,是得到数据表全部记录:
图片 3

以主键来博取单笔记录数据:
图片 4

丰硕数量至数据库的贮存进程:
图片 5

履新数据库的仓储进程:
图片 6

末段二个囤积进程,即是删除的储存进程:
图片 7

Insus.NET一早先想学MVC时,就想开一定要严密与数码操作联系在一块。由此这么些演习中,当然必不可少数据有关的情节,由于数据库也是安装了新本子SQL
Server 贰零壹肆,也意在在演习进程中,能感受到新本子之中细微变化。

OK,上面我们开拓Visual Studio
2011,找到上次的MVC应用程序。在Models目录之下,创设一个Model,名称为FruitKind.cs,就以数量表名来定义,那样幸而程序维护时有利于。这一个Model,有八个public的质量,也是表的几个字段名。
图片 8

好的,接下去大家需求创建多个Entity(FruitKindEntity.cs),它也是被创制于Models目录下。大家目的是梦想那个实体能与数据库进行互相,相当于说能从那一个实体中读取数据,存储数据以及去除数据等。
图片 9

本条实体,须要专注一下命名空间,当然在你协调的练习或理专案中,有自身的命合空间。然后是第#13代码,这是多个零件,可从上面链接精通越多:
http://www.cnblogs.com/insus/archive/2013/05/23/3096045.html 在这么些实体内,最终要说的的,就是#59行的个人函数。这是指望从数据库获取的数额为DataTable的,须求转移为List<T>类型,那样幸亏MVC的视图中好处理。当然你也能够在视图中一向运用DataTable,如《DataTable数据突显于MVC应用程序http://www.cnblogs.com/insus/p/3361182.html 可是在MVC与LINQ的处理更为强大。
可是可能会有网友会发现,前些日子,Insus.NET在从数据库获取数据之后,是把它转换为IEnumberable<T>类型。固然也行,不过在做视图从前,均必要四遍转换与抽起。由此Insus.NET在本次操演中改变它。其余三个艺术,无需介绍了,一看就明。

当今大家得以写Controllers(KindController.cs):
图片 10

地点的Controllers中,先是实例化Models下的FruitKindEntity。
在#14至#18行的Index的Action中,是一向拿走List<T>对象传给View()。
#20至#23的Details
的Action,上边为了好自查自纠,Insus.NET把此前写的也帖于此:
图片 11

在#42至#55行的HttpPost的艾德it
Action中的完结格局,比起从前写的,已大大简化了。
图片 12

其余,就连Delete Action也做了有关的简化,相比较一下:
图片 13

终于有提升了,只要认真操练,勤对照。下边Insus.NET还要分享一下八个视图的代码。
率先是Index.cnhtml视图,留意下图中箭头的代码以及其语法,模型,循环以及参数的界别。
图片 14

 
Details.cshtml视图:
图片 15

Create.cshtml视图:
图片 16

Edit.cshtml视图:
图片 17

Delete.cshtml视图:
图片 18

在颇具的视图中,除了Index.cshtml视图是援引model为@model
IEnumerable<FruitKind>,其余的均为@model
Insus.NET.Models.FruitKind。
在展现值时,使用了 @Html.DisplayFor(o =>
item.xxx),而在创制或编辑时行使了@Html.HiddenFor(o => Model.xxx)
再有就是在Create.cshtml,艾德it.cshtml和Delete.cshtml的视图中,还有使用Razor语法@using
(Html.BeginForm())来发出form和method=”post”。
在Index.cshtml有使用了@foreach (var item in Model)来循环发生记录。

那么些都以最基础的,使用多与习惯而已。
说到底索要体现的是实时操作演示:
图片 19

相关文章