您的位置:首页 > Web前端

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>


修改页面
好了,就这么多了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: