asp.net mvc 三层加EF 登录注册 增删改查
首先打开vs软件
新建项目
创建web中的mvc项目
再右击解决方案创建类库项目
分别创建DAL层和BLL层再把DAL层和BLL层的类重命名
在mvc项目中的Models文件夹创建model类
在DAL创建ADO.NET实体数据模型后把DAL层中App.Config文件中的链接字符串复制到mvc项目的Web.config文件中
ADO.NET实体数据模型


DAL层中的类开始打代码
登录
/// <summary>
/// 登录
/// </summary>
/// <param name="studentname">登录名</param>
/// <param name="studentaddress">是否停用</param>
/// <param name="phone">密码</param>
/// <returns></returns>
public static int Login(string studentname, string phone)
{
using (zzqEntities1 db = new zzqEntities1())
{
int stu = db.student.Where(s => s.Studentname == studentname && s.Studentaddress =="启用" && s.phone == phone).Count();
return stu;
} }
查询
/// <summary>
/// 查询
/// </summary>
/// <returns></returns>
public static List<student> studentSelect() {
using (zzqEntities1 db = new zzqEntities1()) {
List<student> stu = new List<student>();
stu = db.student.ToList();
return stu;
} }
添加
/// <summary>
/// 添加
/// </summary>
/// <param name="studentname">姓名</param>
/// <param name="studentaddress">是否停用</param>
/// <param name="phone">密码</param>
/// <returns></returns>
public static int Insert(string studentname, string studentaddress, string phone) {
using (zzqEntities1 db = new zzqEntities1())
{
var stu = new student() { Studentname = studentname, Studentaddress = studentaddress, phone = phone };
db.student.Add(stu);
return db.SaveChanges();
} }
删除
/// <summary>
/// 删除
/// </summary>
/// <param name="studentid">编号</param>
/// <returns></returns>
public static int Delete(int id)
{
using (zzqEntities1 db = new zzqEntities1())
{
var stu = new student() { Studentid = id };
db.student.Attach(stu);
db.student.Remove(stu);
return db.SaveChanges();
}
}
修改
/// <summary>
/// 查询编号
/// </summary>
/// <param name="studentid">编号</param>
/// <returns></returns>
public static List<student> updateSelect(int id)
{
using (zzqEntities1 db = new zzqEntities1())
{
var st = db.student.Where(x => x.Studentid == id).ToList();
return st;
}
}
/// <summary>
/// 修改
/// </summary>
/// <param name="studentid">编号</param>
/// <param name="studentname">姓名</param>
/// <param name="studentaddress">是否停用</param>
/// <param name="phone">密码</param>
/// <returns></returns>
public static int update(int id, string studentname, string studentaddress, string phone)
{
using (zzqEntities1 db = new zzqEntities1())
{
var st = db.student.Where(x => x.Studentid == id).FirstOrDefault();
st.Studentid = id;
st.Studentname = studentname;
st.Studentaddress = studentaddress;
st.phone = phone;
return db.SaveChanges();
} }
BLL层
using DAL;
引用DAL层
登录
/// <summary>
/// 登录
/// </summary>
/// <param name="studentname"></param>
/// <param name="studentaddress"></param>
/// <param name="phone"></param>
/// <returns></returns>
public static int Login(string studentname, string phone)
{
try
{
int count = kaoshiDAL.kaoshidal.Login(studentname, phone);
return count;
}
catch (Exception ex)
{ throw ex;
}
}
查询
/// <summary>
/// 查询
/// </summary>
/// <returns></returns>
public static List<student> studentSelect() {
try
{
return kaoshiDAL.kaoshidal.studentSelect();
}
catch (Exception ex)
{ throw ex;
} }
添加
/// <summary>
/// 添加
/// </summary>
/// <param name="studentname">姓名</param>
/// <param name="studentaddress">是否停用</param>
/// <param name="phone">密码</param>
/// <returns></returns>
public static int Insert(string studentname, string studentaddress, string phone) {
try
{
return kaoshiDAL.kaoshidal.Insert(studentname,studentaddress,phone);
}
catch (Exception ex)
{
throw ex;
} }
删除
/// <summary>
/// 删除
/// </summary>
/// <param name="studentid"></param>
/// <returns></returns>
public static int Delete(int id)
{
try
{
return kaoshiDAL.kaoshidal.Delete(id);
}
catch (Exception ex)
{ throw ex;
} }
修改
/// <summary>
/// 查询编号
/// </summary>
/// <param name="studentid"></param>
/// <returns></returns>
public static List<student> updateSelect(int id)
{
try
{
return kaoshiDAL.kaoshidal.updateSelect(id);
}
catch (Exception ex)
{ throw ex;
}
}
/// <summary>
/// 修改
/// </summary>
/// <param name="studentid"></param>
/// <param name="studentname"></param>
/// <param name="studentaddress"></param>
/// <param name="phone"></param>
/// <returns></returns>
public static int update(int id, string studentname, string studentaddress, string phone)
{
try
{
return kaoshiDAL.kaoshidal.update(id, studentname, studentaddress, phone);
}
catch (Exception ex)
{ throw ex;
}
}
mvc项目中的Models文件夹的model类
using DAL;
using BLL;
这里引用DAL层和BLL层
登录
/// <summary>
/// 登录
/// </summary>
/// <param name="studentname"></param>
/// <param name="studentaddress"></param>
/// <param name="phone"></param>
/// <returns></returns>
public static int Login(string studentname, string phone)
{
try
{
int count= kaoshiBLL.kaoshibll.Login(studentname, phone);
return count;
}
catch (Exception ex)
{ throw ex;
}
}
查询
/// <summary>
/// 查询
/// </summary>
/// <returns></returns>
public static List<student> studentSelect()
{
try
{
return kaoshiBLL.kaoshibll.studentSelect();
}
catch (Exception ex)
{ throw ex;
} }
添加
/// <summary>
/// 添加
/// </summary>
/// <param name="studentname">姓名</param>
/// <param name="studentaddress">是否停用</param>
/// <param name="phone">密码</param>
/// <returns></returns>
public static int Insert(string studentname, string studentaddress, string phone) {
try
{
return kaoshiBLL.kaoshibll.Insert(studentname,studentaddress,phone);
}
catch (Exception ex)
{
throw ex;
} }
删除
/// <summary>
/// 删除
/// </summary>
/// <param name="studentid"></param>
/// <returns></returns>
public static int Delete(int id)
{
try
{
return kaoshiBLL.kaoshibll.Delete(id);
}
catch (Exception ex)
{ throw ex;
} }
修改
/// <summary>
/// 查询编号
/// </summary>
/// <param name="studentid"></param>
/// <returns></returns>
public static List<student> updateSelect(int id)
{
try
{
return kaoshiBLL.kaoshibll.updateSelect(id);
}
catch (Exception ex)
{ throw ex;
}
}
/// <summary>
/// 修改
/// </summary>
/// <param name="studentid"></param>
/// <param name="studentname"></param>
/// <param name="studentaddress"></param>
/// <param name="phone"></param>
/// <returns></returns>
public static int update(int id, string studentname, string studentaddress, string phone)
{
try
{
return kaoshiBLL.kaoshibll.update(id, studentname, studentaddress, phone);
}
catch (Exception ex)
{ throw ex;
}
}
在mvc项目中的Controllers文件夹创建Home控制器
using Kaoshi.Models;
using kaoshiDAL;
using kaoshiBLL;
登录
/// <summary>
/// 登录
/// </summary>
/// <returns></returns>
public ActionResult Login()
{ return View();
}
public ActionResult ALogin(string studentname, string phone)
{
int count = kaoshiModel.Login(studentname, phone);
if (count >)
{
return Content("<script>alert('登录成功');window.location.href='/Home/Index';</script>"); }
else
{
return Content("<script>alert('登录失败');window.location.href='/Home/Login';</script>");
} }
查询
/// <summary>
/// 查询
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
public ActionResult Index()
{
List<student> stu = kaoshiModel.studentSelect();
return View(stu);
}
注册
/// <summary>
/// 注册
/// </summary>
/// <returns></returns>
public ActionResult Zhuce()
{
return View();
}
[HttpPost]
public ActionResult Azhuce(string studentname, string studentaddress, string phone)
{
int st = kaoshiModel.Insert(studentname,studentaddress,phone);
if (st > )
{
return Content("<script>alert('注册成功');window.location.href='/Home/Login';</script>");
}
else {
return Content("<script>alert('注册失败');window.location.href='/Home/Zhuce';</script>");
}
}
删除
/// <summary>
/// 删除
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
public ActionResult Delete(int id)
{
int st = kaoshiModel.Delete(id);
if (st > )
{
return Content("<script>alert('删除成功');window.location.href='/Home/Index';</script>");
}
else
{
return Content("<script>alert('删除失败');window.location.href='/Home/Index';</script>");
}
}
修改
//修改
public ActionResult Update(int id)
{
List<student> li = kaoshiModel.updateSelect(id);
return View(li);
}
public ActionResult updatestudent(int id, string studentname, string studentaddress, string phone)
{
int st = kaoshiModel.update(id, studentname, studentaddress, phone);
if (st>)
{
return Content("<script>alert('修改成功');window.location.href='/Home/Index';</script>");
}
else
{
return Content("<script>alert('修改失败');window.location.href='/Home/Index';</script>");
}
}
Index视图
@{
ViewBag.Title = "Index";
}
<script type="text/javascript">
function Update(id) {
location.href = "/Home/Update/" + id;
}
function del(id) {
if (confirm("是否删除?")) {
location.href = '/Home/Delete/' + id;
}
}
</script>
<a href="/Home/Login">登录</a>
<table>
<tr>
<th>姓名<th>
<th>密码</th>
<th>是否停用</th>
<th colspan="">操作</th>
</tr>
@foreach (var item in Model)
{
<tr>
<td>@item.Studentname</td>
<td>@item.phone</td>
<td>@item.Studentaddress</td>
<td><a href="#" onclick="Update(@item.Studentid)">修改</a></td>
<td><a href="#" onclick="del(@item.Studentid)">删除</a></td>
</tr>
}
</table>
Login视图
@{
ViewBag.Title = "Login";
}
<h2>登录</h2>
@using (Html.BeginForm("ALogin", "Home", FormMethod.Post))
{
<input type ="text" name="studentname" placeholder="请输入姓名"/>
<input type ="password" name="phone" placeholder="请输入密码"/>
<button type="submit" class="blue" >登录</button>
<a href="/Home/Zhuce">注册</a>
}
Update视图
@{
ViewBag.Title = "Update";
}
@using (Html.BeginForm("updatestudent", "Home", FormMethod.Post)) {
<table>
@foreach (var item in Model)
{
<tr>
<td>编号:</td>
<td>
<input type="text" value="@item.Studentid" name="id" readonly="readonly"/>
</td>
</tr>
<tr>
<td>姓名:</td>
<td>
<input type="text" value="@item.Studentname" name="studentname" readonly="readonly"/>
</td>
</tr>
<tr>
<td>是否停用:</td>
<td>
<input type="text" value="@item.Studentaddress" name="studentaddress"/>
</td>
</tr>
<tr>
<td>密码:</td>
<td>
<input type="text" value="@item.phone" name="phone" readonly="readonly"/>
</td>
</tr>
<tr>
<td colspan="">
<input type="submit" id="btn" value="修改" /></td>
</tr>
}
</table>
}
Zhuce视图
@{
ViewBag.Title = "Zhuce";
}
@using (Html.BeginForm("Azhuce", "Home", FormMethod.Post)) {
<table style="width: 100%;">
<tr>
<td>姓名:</td>
<td>
<input type="text" placeholder="请输入姓名" name="studentname" />
</td>
</tr>
<tr>
<td>状态:</td>
<td>
<select name="studentaddress">
<option value="启用" selected="selected">启用</option>
<option value="禁用">禁用</option>
</select>
</td>
</tr>
<tr>
<td>密码:</td>
<td>
<input type="text" placeholder="请输入密码" name="phone" />
</td>
</tr>
<tr>
<td colspan="">
<input id="btn" type="submit" value="注册" />
</td>
</tr>
</table>
}
asp.net mvc 三层加EF 登录注册 增删改查的更多相关文章
- 【转载】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来管理 ...
- asp.net mvc 三层加EF两表联查
首先打开vs软件新建项目创建web中的mvc项目再右击解决方案创建类库项目分别创建DAL层和BLL层再把DAL层和BLL层的类重命名在mvc项目中的Models文件夹创建model类在DAL创建ADO ...
- 3、ASP.NET MVC入门到精通——Entity Framework增删改查
这里我接上讲Entity Framework入门.从网上下载Northwind数据库,新建一个控制台程序,然后重新添加一个ado.net实体数据模型. EF中操作数据库的"网关"( ...
- Entity - 使用EF框架进行增删改查 - 模型先行
模型先行:先创建数据库实体模型,然后再进行数据库的增删改查. 基本步骤是不变的,可参照 <Entity - 使用EF框架进行增删改查 - 数据库先行> 其中的不同是,在创建数据库实体模型的 ...
- ASP.NET学习笔记(3)——用户增删改查(三层)
说明(2017-10-6 11:21:58): 1. 十一放假在家也没写几行代码,本来还想着利用假期把asp.net看完,结果天天喝酒睡觉,回去的票也没买到,惨.. 2. 断断续续的把用户信息的页面写 ...
- 招新系统(jsp+servlet,实现简略前端网页注册登录+后台增删改查,分学生和管理员,Java语言,mysql数据库连接,tomcat服务器)
生活不只是眼前的苟且,还有诗和远方. 架构说明: 要求是采用MVC模式,所以分了下面的几个包,但是由于是第一次写,可能分的也不是很清楚: 这个是后台部分的架构: 这个是前端的的展示: (那个StuLo ...
- 一个在ASP.NET中利用服务器控件GridView实现数据增删改查的例子
备注:这是我辅导的一个项目开发组的一个例子,用文章的方式分享出来,给更多的朋友参考.其实我们这几年的项目中,都不怎么使用服务器控件的形式了,而是更多的采用MVC这种开发模式.但是,如果项目的历史背景是 ...
- 用DBContext (EF) 实现通用增删改查的REST方法
我们用ADO.NET Entity Data Model来生成实体类后,一般都会对这些类进行基本的增删改查操作,如果每个类都要写这些基本的方法,实在太乏味了.下面就是通过step by step的方式 ...
随机推荐
- python获取当前时间
import time time = time.strftime('%Y-%m-%d %H:%M:%S',time.localtime()) print("当前时间:",time) ...
- Java NIO 概览
Java面试通关手册(Java学习指南) Github地址:https://github.com/Snailclimb/Java_Guide 一 NIO简介 Java NIO 是 java 1.4 之 ...
- 使用NOOBS给树莓派安装系统Raspbian
使用NOOBS给树莓派安装系统Raspbian --英文原版教程:https://www.raspberrypi.org/learning/software-guide/quickstart/ 1.原 ...
- 深入理解Java虚拟机 第三章 垃圾收集器 笔记
1.1 垃圾收集器 垃圾收集器是内存回收的具体实现.以下讨论的收集器是基于JDK1.7Update14之后的HotSpot虚拟机.这个虚拟机包含的所有收集器有: 上图展示了7种作用于不同分代的收集 ...
- iPhone6 AirDrop找不到我的mac解决方法!注销mac和iPhone的icloud账号
注销mac和iPhone的icloud账号,icloud 会自动同步个人热点,个人热点开启状态,mac 和 iPhone 无法看到对方!
- 循环神经(LSTM)网络学习总结
摘要: 1.算法概述 2.算法要点与推导 3.算法特性及优缺点 4.注意事项 5.实现和具体例子 6.适用场合 内容: 1.算法概述 长短期记忆网络(Long Short Term Memory ne ...
- JAVA基础第四章-集合框架Collection篇
业内经常说的一句话是不要重复造轮子,但是有时候,只有自己造一个轮子了,才会深刻明白什么样的轮子适合山路,什么样的轮子适合平地! 我将会持续更新java基础知识,欢迎关注. 往期章节: JAVA基础第一 ...
- 依赖注入容器-- Autofac
目录: 一.简介 二.如何使用 2.1.基本使用 2.2.接口使用 2.3. 其他注入 2.4. 注入的生命周期 一.简介 在上一篇文章中讲到替换默认服务容器,我们选择了Autofac Autofac ...
- BugkuCTF~Mobile~WriteUp
最近,开始记录一篇关于 Android 逆向分析的 WriteUp 方便有需要的人学习,也欢迎大家相互交流, 发现不 一样的世界. 一. signin 考点:反编译.静态分析 Topic Link:h ...
- 浅谈MySQL架构体系
一 数据库和数据库实例 在MySQL的学习研究中,存在两个非常容易混淆的概念,即数据库和数据库实例.在MySQL中,数据库和数据库实例定义如下: 数据库:存储数据的集合: 数据库实例:操作数据库的集 ...