ASP.NET从零开始学习EF的增删改查
USE [master]GO/****** Object: Database [Student] Script Date: 05/20/2016 11:36:27 ******/CREATE DATABASE [Student] ON PRIMARY( NAME = N'Student', FILENAME = N'F:\Jeffrey9061\SVN\DB\Student.mdf' , SIZE = 3072KB , MAXSIZE = UNLIMITED, FILEGROWTH = 1024KB )LOG ON( NAME = N'Student_log', FILENAME = N'F:\Jeffrey9061\SVN\DB\Student_log.ldf' , SIZE = 1024KB , MAXSIZE = 2048GB , FILEGROWTH = 10%)GOALTER DATABASE [Student] SET COMPATIBILITY_LEVEL = 100GOIF (1 = FULLTEXTSERVICEPROPERTY('IsFullTextInstalled'))beginEXEC [Student].[dbo].[sp_fulltext_database] @action = 'enable'endGOALTER DATABASE [Student] SET ANSI_NULL_DEFAULT OFFGOALTER DATABASE [Student] SET ANSI_NULLS OFFGOALTER DATABASE [Student] SET ANSI_PADDING OFFGOALTER DATABASE [Student] SET ANSI_WARNINGS OFFGOALTER DATABASE [Student] SET ARITHABORT OFFGOALTER DATABASE [Student] SET AUTO_CLOSE OFFGOALTER DATABASE [Student] SET AUTO_CREATE_STATISTICS ONGOALTER DATABASE [Student] SET AUTO_SHRINK OFFGOALTER DATABASE [Student] SET AUTO_UPDATE_STATISTICS ONGOALTER DATABASE [Student] SET CURSOR_CLOSE_ON_COMMIT OFFGOALTER DATABASE [Student] SET CURSOR_DEFAULT GLOBALGOALTER DATABASE [Student] SET CONCAT_NULL_YIELDS_NULL OFFGOALTER DATABASE [Student] SET NUMERIC_ROUNDABORT OFFGOALTER DATABASE [Student] SET QUOTED_IDENTIFIER OFFGOALTER DATABASE [Student] SET RECURSIVE_TRIGGERS OFFGOALTER DATABASE [Student] SET DISABLE_BROKERGOALTER DATABASE [Student] SET AUTO_UPDATE_STATISTICS_ASYNC OFFGOALTER DATABASE [Student] SET DATE_CORRELATION_OPTIMIZATION OFFGOALTER DATABASE [Student] SET TRUSTWORTHY OFFGOALTER DATABASE [Student] SET ALLOW_SNAPSHOT_ISOLATION OFFGOALTER DATABASE [Student] SET PARAMETERIZATION SIMPLEGOALTER DATABASE [Student] SET READ_COMMITTED_SNAPSHOT OFFGOALTER DATABASE [Student] SET HONOR_BROKER_PRIORITY OFFGOALTER DATABASE [Student] SET READ_WRITEGOALTER DATABASE [Student] SET RECOVERY FULLGOALTER DATABASE [Student] SET MULTI_USERGOALTER DATABASE [Student] SET PAGE_VERIFY CHECKSUMGOALTER DATABASE [Student] SET DB_CHAINING OFFGOEXEC sys.sp_db_vardecimal_storage_format N'Student', N'ON'GOUSE [Student]GO/****** Object: Table [dbo].[User] Script Date: 05/20/2016 11:36:27 ******/SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOCREATE TABLE [dbo].[User]([ID] [int] IDENTITY(1,1) NOT NULL,[Name] [nvarchar](50) NULL,[Age] [int] NULL,[Sex] [nvarchar](50) NULL,CONSTRAINT [PK_User] PRIMARY KEY CLUSTERED([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二、新建一个asp.net的Web站点,命名为:LMX.EF.Web,如下图:选择空模板二、添加EF的ADO.NET实体数据模型,如下图:命名为:Student点击:新建连接填写本地SQL数据库的链接,然后选择:Student数据库,如下:点击“确定”点击:“下一步”选择“6.x”,这里,如果你们用的是VS2013,选“5.0”也一样。然后点击“完成”。如下图:添加实体类数据模型到此结束。三、添加增删改查页面。1,增加add.aspx2,修改edit.aspx3,列表list.aspx(包含搜索和删除)四、代码实现add.aspx 前端:<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="add.aspx.cs" Inherits="LMX.EF.Web.add" %> <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>增加用户</title>
<script src="js/jquery-1.8.3.min.js"></script>
<style type="text/css">
/* 表格的样式*/
.tab {
border-collapse: collapse;
padding-top: 10px;
padding-left: 0px;
padding-right: 0px;
margin: 0px;
border: 1px solid #BDBCBC;
} .tr {
border-collapse: collapse;
height: 30px;
} .td {
background-color: #fff;
font-size: 14px;
font-family: "微软雅黑";
text-align: center;
border-right: 1px solid #BDBCBC;
border-bottom: 1px dashed #BDBCBC;
}
</style>
<script type="text/javascript">
$(function () {
$("#btnSubmit").click(function () {
var vData = $("#form1").serialize();
$.ajax({
type: 'get',
url: location.href + "?type=add",
data: vData,
success: function (msg) {
alert(msg);
}
})
});
$("#btnList").click(function () {
window.location.href = "list.aspx";
});
})
</script>
</head>
<body>
<form id="form1">
<table class="tab"> <tr class="tr">
<td class="td">姓名</td>
<td class="td">
<input type="text" name="Name" />
</td>
</tr>
<tr class="tr">
<td class="td">年龄</td>
<td class="td">
<input type="text" name="Age" /> </td>
</tr>
<tr class="tr">
<td class="td">性别</td>
<td class="td">
<input type="text" name="Sex" />
</td>
</tr>
<tr class="tr">
<td class="td">
<input type="button" id="btnList" value="返回列表" />
</td>
<td class="td">
<input type="button" id="btnSubmit" value="确认提交" />
</td>
</tr>
</table>
</form>
</body>
</html>后端:using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls; namespace LMX.EF.Web
{
public partial class add : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
if (Request.QueryString["type"] == "add")
{
string strName = Request.QueryString["Name"];
string strAge = Request.QueryString["Age"];
string strSex = Request.QueryString["Sex"];
using (StudentEntities ent = new StudentEntities())
{
User aNewUser = new User()
{
Age = ,
Name = strName,
Sex = strSex
};
ent.User.Add(aNewUser);
if (ent.SaveChanges() > )
{
Response.Write("添加成功。");
}
else
{
Response.Write("添加失败。");
}
Response.End();
}
}
}
}
}
}list.aspx 前端:<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="list.aspx.cs" Inherits="LMX.EF.Web.list" %> <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>列表</title>
<script src="js/jquery-1.8.3.min.js"></script>
<style type="text/css">
/* 表格的样式*/
.tab {
border-collapse: collapse;
padding-top: 10px;
padding-left: 0px;
padding-right: 0px;
margin: 0px;
border: 1px solid #BDBCBC;
} .tr {
border-collapse: collapse;
height: 30px;
} .td {
background-color: #fff;
font-size: 14px;
font-family: "微软雅黑";
text-align: center;
border-right: 1px solid #BDBCBC;
border-bottom: 1px dashed #BDBCBC;
}
</style>
<script type="text/javascript">
$(function () {
loadData();
//编辑用户
$("#btnEdit").click(function () {
var vID = $("#UserID").val();
if (vID == "" || vID == null) {
alert("请输入用户编号。");
return;
}
window.location.href = "edit.aspx?id=" + vID;
});
//删除用户
$("#btnDel").click(function () {
var vID = $("#UserID").val();
if (vID == "" || vID == null) {
alert("请输入用户编号。");
return;
}
$.ajax({
type: 'post',
url: location.href + "?type=del&&id="+vID,
success: function (data) {
alert(data);
loadData();
}
})
});
//继续添加
$("#btnAdd").click(function () {
window.location.href = "add.aspx";
});
})
//获取用户列表
function loadData() {
var vHead = "<tr class=\"tr\"><td class=\"td\">编号</td><td class=\"td\">姓名</td><td class=\"td\">年龄</td><td class=\"td\">性别</td></tr>";
$.ajax({
type: 'get',
url: location.href + "?type=loadData",
success: function (data) {
if (data != null) {
data = JSON.parse(data);
for (var i = 0; i < data.length; i++) {
vHead += "<tr class=\"tr\"><td class=\"td\">" + data[i].ID + "</td><td class=\"td\">" + data[i].Name + "</td><td class=\"td\">" + data[i].Age + "</td><td class=\"td\">" + data[i].Sex + "</td></tr>";
}
}
$("#tabList").html(vHead);
}
})
}
</script>
</head>
<body>
<table class="tab" id="tabList">
<tr class="tr">
<td class="td">编号</td>
<td class="td">姓名</td>
<td class="td">年龄</td>
<td class="td">性别</td>
</tr>
</table>
<br />
<input type="button" id="btnAdd" value="继续添加" />
<br />
用户编号:<input type="text" id="UserID" /><input type="button" id="btnEdit" value="编辑" /><input type="button" id="btnDel" value="删除" />
</body>
</html>后端:using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Script.Serialization;
using System.Web.UI;
using System.Web.UI.WebControls; namespace LMX.EF.Web
{
public partial class list : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
if (Request.QueryString["type"] == "loadData")
{
using (StudentEntities ent = new StudentEntities())
{
List<User> userList = ent.User.ToList();
JavaScriptSerializer js = new JavaScriptSerializer();
string strJsonData = js.Serialize(userList);
Response.Write(strJsonData);
Response.End();
}
}
if (Request.QueryString["type"] == "del")
{
string strID = Request.QueryString["id"];
int iID = int.Parse(strID);
using (StudentEntities ent = new StudentEntities())
{
User aUser = (from c in ent.User where c.ID == iID select c).FirstOrDefault();
if (aUser != null)
{ ent.User.Remove(aUser);
if (ent.SaveChanges() > )
{
Response.Write("删除成功。");
}
else
{
Response.Write("删除失败。");
}
}
else
{
Response.Write("不存在此用户,请确认用户ID是否正确。");
}
Response.End();
}
}
}
}
}
}
edit.aspx 前端:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="edit.aspx.cs" Inherits="LMX.EF.Web.edit" %> <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>编辑</title>
<script src="js/jquery-1.8.3.min.js"></script>
<script type="text/javascript">
$(function () {
$("#btnList").click(function () {
window.location.href = "list.aspx";
});
})
</script>
</head>
<body>
<form id="form1" runat="server">
<table class="tab"> <tr class="tr">
<td class="td">姓名</td>
<td class="td">
<asp:TextBox ID="Name" runat="server"></asp:TextBox>
<asp:TextBox ID="id" runat="server" Visible="False"></asp:TextBox>
</td>
</tr>
<tr class="tr">
<td class="td">年龄</td>
<td class="td">
<asp:TextBox ID="Age" runat="server"></asp:TextBox>
</td>
</tr>
<tr class="tr">
<td class="td">性别</td>
<td class="td">
<asp:TextBox ID="Sex" runat="server"></asp:TextBox>
</td>
</tr>
<tr class="tr">
<td class="td">
<input type="button" id="btnList" value="返回列表" />
</td>
<td class="td">
<asp:Button ID="btnSubmit" runat="server" Text="确认提交" OnClick="btnSubmit_Click" />
</td>
</tr>
</table>
</form>
</body>
</html>后端:using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls; namespace LMX.EF.Web
{
public partial class edit : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{ if (!IsPostBack)
{
string strID = Request.QueryString["id"];
int iID = int.Parse(strID);
using (StudentEntities ent = new StudentEntities())
{
User aUser = (from c in ent.User where c.ID == iID select c).FirstOrDefault();
if (aUser != null)
{
Name.Text = aUser.Name;
Age.Text = aUser.Age.ToString();
Sex.Text = aUser.Sex;
id.Text = strID;
}
}
}
}
/// <summary>
/// 提交修改
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnSubmit_Click(object sender, EventArgs e)
{
string strName = Name.Text;
string strAge = Age.Text;
string strSex = Sex.Text;
string strID = id.Text;
int iID = int.Parse(strID);
using (StudentEntities ent = new StudentEntities())
{
User aUser = (from c in ent.User where c.ID == iID select c).FirstOrDefault();
if (aUser != null)
{
aUser.Name = strName;
aUser.Age = ;
aUser.Sex = strSex;
if (ent.SaveChanges() > )
{
Response.Write("<script>alert('修改成功。')</script>");
}
}
}
}
}
}到这里,就大功告成啦,接下来的东西,就由大家自己去展开拓展了,本次经验分享到此结束,如果觉得写得不错,或者对你有帮助,请点“好文要顶”或者“关注我”,转载请保留原作者地址以及姓名。我新建一个QQ群,如果有问题,可以在群里提。如果合适,也会根据大家提的比较多的问题,来写篇博文,帮助更多的人,群号:275523437点击链接加入群【.Net,MVC,EasyUI,MUI,Html,JS】:http://jq.qq.com/?_wv=1027&k=2A0RbLd(如果有私活,或者一起合作的,也可以私信找我呀,嘿嘿);作者:南宫萧尘E-mail:314791147@qq.comQQ:314791147日期:2016-05-20
ASP.NET从零开始学习EF的增删改查的更多相关文章
- http://www.cnblogs.com/nangong/p/db29669e2c6d72fb3d0da947280aa1ce.htm ASP.NET从零开始学习EF的增删改查
http://www.cnblogs.com/nangong/p/db29669e2c6d72fb3d0da947280aa1ce.htmlASP.NET从零开始学习EF的增删改查
- Asp.Net WebApi学习教程之增删改查
webapi简介 在asp.net中,创建一个HTTP服务,有很多方案,以前用ashx,一般处理程序(HttpHandler),现在可以用webapi 微软的web api是在vs2012上的mvc4 ...
- 【转载】ASP.NET MVC Web API 学习笔记---联系人增删改查
本章节简单介绍一下使用ASP.NET MVC Web API 做增删改查.目前很多Http服务还是通过REST或者类似RESP的模型来进行数据操作的.下面我们通过创建一个简单的Web API来管理联系 ...
- ASP.NET MVC Web API 学习笔记---联系人增删改查
本章节简单介绍一下使用ASP.NET MVC Web API 做增删改查. 目前很多Http服务还是通过REST或者类似RESP的模型来进行数据操作的. 下面我们通过创建一个简单的Web API来管理 ...
- easyui datagrid 禁止选中行 EF的增删改查(转载) C# 获取用户IP地址(转载) MVC EF 执行SQL语句(转载) 在EF中执行SQL语句(转载) EF中使用SQL语句或存储过程 .net MVC使用Session验证用户登录 PowerDesigner 参照完整性约束(转载)
easyui datagrid 禁止选中行 没有找到可以直接禁止的属性,但是找到两个间接禁止的方式. 方式一: //onClickRow: function (rowIndex, rowData) ...
- EF实现增删改查
从来没想到过能在这个上面翻车,感慨自学没有培训来得系统啊,废话不多说 ORM:对象关系映射(Object Relational Mapping,简称ORM,或O/RM,或O/R mapping),是一 ...
- 前端使用AngularJS的$resource,后端ASP.NET Web API,实现增删改查
AngularJS中的$resource服务相比$http服务更适合与RESTful服务进行交互.本篇后端使用ASP.NET Web API, 前端使用$resource,实现增删改查. 本系列包括: ...
- MyBatis学习系列二——增删改查
目录 MyBatis学习系列一之环境搭建 MyBatis学习系列二——增删改查 MyBatis学习系列三——结合Spring 数据库的经典操作:增删改查. 在这一章我们主要说明一下简单的查询和增删改, ...
- 使用HttpClient对ASP.NET Web API服务实现增删改查
本篇体验使用HttpClient对ASP.NET Web API服务实现增删改查. 创建ASP.NET Web API项目 新建项目,选择"ASP.NET MVC 4 Web应用程序&quo ...
随机推荐
- 基于SignalR实现B/S系统对windows服务运行状态的监测
通常来讲一个BS项目肯定不止单独的一个BS应用,可能涉及到很多后台服务来支持BS的运行,特别是针对耗时较长的某些任务来说,Windows服务肯定是必不可少的,我们还需要利用B/S与windows服务进 ...
- mybatis plugins实现项目【全局】读写分离
在之前的文章中讲述过数据库主从同步和通过注解来为部分方法切换数据源实现读写分离 注解实现读写分离: http://www.cnblogs.com/xiaochangwei/p/4961807.html ...
- UWP开发必备:常用数据列表控件汇总比较
今天是想通过实例将UWP开发常用的数据列表做汇总比较,作为以后项目开发参考.UWP开发必备知识点总结请参照[UWP开发必备以及常用知识点总结]. 本次主要讨论以下控件: GridView:用于显示数据 ...
- JQuery 复制粘贴上传图片插件(textarea 和 tinyMCE)
开源地址:https://github.com/yuezhongxin/paste-upload-image.js 支持 Ctrl+C/Ctrl+V 上传,支持拖拽上传,也支持 QQ/微信截图上传. ...
- 使用NUnit为游戏项目编写高质量单元测试的思考
0x00 单元测试Pro & Con 最近尝试在我参与的游戏项目中引入TDD(测试驱动开发)的开发模式,因此单元测试便变得十分必要.这篇博客就来聊一聊这段时间的感悟和想法.由于游戏开发和传统软 ...
- select、poll、epoll之间的区别总结
select.poll.epoll之间的区别总结 05/05. 2014 select,poll,epoll都是IO多路复用的机制.I/O多路复用就通过一种机制,可以监视多个描述符,一旦某个描述符就绪 ...
- JAVA回调机制解析
一.回调机制概述 回调机制在JAVA代码中一直遇到,但之前不懂其原理,几乎都是绕着走.俗话说做不愿意做的事情叫做突破,故诞生了该文章,算是新年的新气象,新突破! 回调机制是什么?其实回 ...
- 拦截UIViewController的popViewController事件
实现拦截UIViewController的pop操作有两种方式: 自定义实现返回按钮,即设置UIBarButtonItem来实现自定义的返回操作. 创建UINavigatonController的Ca ...
- Hadoop的安装与设置(1)
在Ubuntu下安装与设置Hadoop的主要过程. 1. 创建Hadoop用户 创建一个用户,用户名为hadoop,在home下创建该用户的主目录,就不详细介绍了. 2. 安装Java环境 下载Lin ...
- 【一起学OpenFoam】02 软件准备
"工欲善其事必先利其器",在利用OpenFoam解决我们的工程问题之前,首先要做的事情是搭建一个OpenFoam运行环境.很遗憾的是,OpenFoam的原生开发系统是Linux,因 ...