首先打开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 登录注册 增删改查的更多相关文章

  1. 【转载】ASP.NET MVC Web API 学习笔记---联系人增删改查

    本章节简单介绍一下使用ASP.NET MVC Web API 做增删改查.目前很多Http服务还是通过REST或者类似RESP的模型来进行数据操作的.下面我们通过创建一个简单的Web API来管理联系 ...

  2. ASP.NET MVC Web API 学习笔记---联系人增删改查

    本章节简单介绍一下使用ASP.NET MVC Web API 做增删改查. 目前很多Http服务还是通过REST或者类似RESP的模型来进行数据操作的. 下面我们通过创建一个简单的Web API来管理 ...

  3. asp.net mvc 三层加EF两表联查

    首先打开vs软件新建项目创建web中的mvc项目再右击解决方案创建类库项目分别创建DAL层和BLL层再把DAL层和BLL层的类重命名在mvc项目中的Models文件夹创建model类在DAL创建ADO ...

  4. 3、ASP.NET MVC入门到精通——Entity Framework增删改查

    这里我接上讲Entity Framework入门.从网上下载Northwind数据库,新建一个控制台程序,然后重新添加一个ado.net实体数据模型. EF中操作数据库的"网关"( ...

  5. Entity - 使用EF框架进行增删改查 - 模型先行

    模型先行:先创建数据库实体模型,然后再进行数据库的增删改查. 基本步骤是不变的,可参照 <Entity - 使用EF框架进行增删改查 - 数据库先行> 其中的不同是,在创建数据库实体模型的 ...

  6. ASP.NET学习笔记(3)——用户增删改查(三层)

    说明(2017-10-6 11:21:58): 1. 十一放假在家也没写几行代码,本来还想着利用假期把asp.net看完,结果天天喝酒睡觉,回去的票也没买到,惨.. 2. 断断续续的把用户信息的页面写 ...

  7. 招新系统(jsp+servlet,实现简略前端网页注册登录+后台增删改查,分学生和管理员,Java语言,mysql数据库连接,tomcat服务器)

    生活不只是眼前的苟且,还有诗和远方. 架构说明: 要求是采用MVC模式,所以分了下面的几个包,但是由于是第一次写,可能分的也不是很清楚: 这个是后台部分的架构: 这个是前端的的展示: (那个StuLo ...

  8. 一个在ASP.NET中利用服务器控件GridView实现数据增删改查的例子

    备注:这是我辅导的一个项目开发组的一个例子,用文章的方式分享出来,给更多的朋友参考.其实我们这几年的项目中,都不怎么使用服务器控件的形式了,而是更多的采用MVC这种开发模式.但是,如果项目的历史背景是 ...

  9. 用DBContext (EF) 实现通用增删改查的REST方法

    我们用ADO.NET Entity Data Model来生成实体类后,一般都会对这些类进行基本的增删改查操作,如果每个类都要写这些基本的方法,实在太乏味了.下面就是通过step by step的方式 ...

随机推荐

  1. monkey------模块组合测试

    由于项目基本功能和预置APK都很多,单个模块跑消耗机器数量很大,效果也不佳.而且monkey测试经常要过夜测试,所以组合模块试用较多,而且发现问题量也更大.组合模块就是按照测试标准要求和模块特性,按照 ...

  2. 一致性 Hash 算法的实际应用

    前言 记得一年前分享过一篇<一致性 Hash 算法分析>,当时只是分析了这个算法的实现原理.解决了什么问题等. 但没有实际实现一个这样的算法,毕竟要加深印象还得自己撸一遍,于是本次就当前的 ...

  3. WebWorker 中将已处理好的 VDOM 数据提交主线程渲染 DOM

    上篇文章讲了 WebWorker 的简单用法,其实网上很多类似的文章,我写的也比较垃圾.不会的建议可以网上看比较好点的资料. 这里我会先讲下我的大致思路.然后会贴上一堆不实用的垃圾代码供参考. Web ...

  4. 『随笔』.Net 底层 数组[] 的 基本设计探秘 512 子数组

    static void Main(string[] args) { Console.ReadKey(); //初始化数组 不会立即开辟内存字节, 只有实际给数组赋值时 才会开辟内存 // //猜测数组 ...

  5. spring JdbcTemplate 在itest 开源测试管理项目中的浅层(5个使用场景)封装

    导读: 主要从4个方面来阐述,1:背景:2:思路:3:代码实现:4:使用 一:封装背景, 在做项目的时候,用的JPA ,有些复杂查询,比如报表用原生的JdbcTemplate ,很不方便;传参也不方便 ...

  6. kubernetes实践之三:深入理解Pod对象

    一.Pod定义 最小部署单元 一组容器集合 一个pod中的容器共享网络命名空间 Pod是短暂的 二.Pod容器分类 基础容器 维护整个Pod的网络命名空间 初始化容器 先于业务容器开始执行,在应用启动 ...

  7. HTML5最佳实践web app

    简介 本文重点关注如何充分利用HTML5和CSS让web app运行更加流畅. Tip 1: 使用web storage代替cookie cookie最大的缺陷是在每一次HTTP请求中都会携带所有符合 ...

  8. Android之Realm详解

    文章大纲 一.Realm介绍二.Realm实战三.Realm官方文档四.项目源码下载五.参考文章   一.Realm介绍 1. 什么是Realm   Realm 是一个手机数据库,是用来替代 SQli ...

  9. sql语句 汉字转拼音首字母

    (1)------------------------------------------------------------------------------------------------- ...

  10. sql 语句 获取某张表某列字段最短的某几行数据

    sql 语句 获取某张表某列字段最短的某几行数据 SELECT C_name,C_code FROM Catalog where LEN(C_code)=LEN((SELECT top 1 C_cod ...