MVC增删查改,从数据库到后台,到前端,整个复习一下
2015-10-31 19:33
387 查看
就当是记笔记吧,这里,就不讲什么版式了,首先上数据库脚本,这个是我这次练习用到的数据库脚本:
下面就是后台的代码了:
修改页面
好了,就这么多了。
USE [DB_USERS] GO /****** Object: Table [dbo].[Student] Script Date: 10/31/2015 16:44:06 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO SET ANSI_PADDING ON GO CREATE TABLE [dbo].[Student]( [s_ID] [INT] IDENTITY(1,1) NOT NULL, [s_Name] [NVARCHAR](10) NULL, [s_Sex] [CHAR](2) NULL, [s_Age] [INT] NULL, [c_ID] [INT] NOT NULL, CONSTRAINT [PK__Studnet__2F3DA3BC267ABA7A] PRIMARY KEY CLUSTERED ( [s_ID] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] GO SET ANSI_PADDING OFF GO ALTER TABLE [dbo].[Student] WITH CHECK ADD FOREIGN KEY([c_ID]) REFERENCES [dbo].[Classes] ([c_ID]) GO
USE [DB_USERS] GO /****** Object: Table [dbo].[Classes] Script Date: 10/31/2015 16:44:51 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[Classes]( [c_ID] [INT] NOT NULL, [c_Name] [NVARCHAR](50) NULL, PRIMARY KEY CLUSTERED ( [c_ID] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] GO
下面就是后台的代码了:
@model MVCFirstApp.Models.Student @*指定了model类型的视图就叫强类型视图, 好处:VS可以推断出model的类型,从而提供提示,model本来是动态的类型,使用的时候,一般都要转类型,使用as来转*@ @{ Layout = null; } @using MVCFirstApp.Models; <!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-width" /> <title>Modify</title> </head> <body> <form method="post" action="/Student/Modify"> @*添加一个隐藏域*@ @*不添加隐藏域,点击修改的时候,ID的属性传不到Action方法*@ @*修改,必须要传主键过去,SID必须传,所以隐藏域不能少*@ <input type="hidden" name="s_ID" value="@Model.s_ID"><table> <tr> <td>姓名:</td> @*name属性的值,要和value里面绑定的属性名字一样,这样在修改的时候,才可以把参数传递到Action方法*@ <td><input type="text" name="s_Name" value="@Model.s_Name" /></td> @*文本框的name属性也使用和Model.s_Name一样,模型绑定*@ <td>班级:</td> @*班级要生成下拉框,要有班级数据*@ <td> @*dropDownlist第一个参数的字段,必须要和数据库中的字段一样,这里是将班级名称列出来,*@ @Html.DropDownList("c_ID", ViewBag.ListClassData as IEnumerable<SelectListItem>) @*ViewBag是动态的类型,使用的时候,需要转一下类型*@ @*下面这个是生成下拉框最原始的方式,有个不方便,就是要选中默认值*@ @*<select name="c_ID"> @foreach (Classes c in @ViewBag.ListClassData as List<Classes>) { //如果集合中的班级号,和Model里面的班级号相等,就在option标签,加上Selected if (c.c_ID == Model.c_ID) { <option value="@c.c_ID" selected>@c.c_Name</option> } else { <option value="@c.c_ID">@c.c_Name</option> } } </select>*@ </td> <td>性别:</td> @*name属性的值,要和value里面绑定的属性名字一样,这样在修改的时候,才可以把参数传递到Action Post方式的方法*@ <td><input type="text" name="s_Sex" value="@Model.s_Sex" /></td> <td>年龄:</td> <td><input type="text" name="s_Age" value="@Model.s_Age" /></td> <td><input type="submit" value="确定" /></td> </tr> </table> </form> </body> </html>
修改页面
好了,就这么多了。
相关文章推荐
- FlatBuffers与protobuf性能比较
- 超轻量级异步JS框架
- 10个强大的JavaScript库
- html模板
- iPhone 6是苹果最畅销机型 市场占有为30%
- JSON
- JavaScript类继承详解
- jQuery拖放排序插件DDSort
- jQuery插件之ajaxFileUpload
- ionic怎样使用LokiJS作为本地存储
- jQuery数据缓存$.data 的使用以及源码解析
- JS内置对象
- js 常用函数
- Jquery 使用小结
- CSS 使用小结
- Dynamics CRM 2011 JScript
- jquery技巧总结
- javascript常用数组算法总结
- JavaScript脚本引擎Rhino
- [LeetCode][JavaScript]Serialize and Deserialize Binary Tree