一丶使用三层架构创建一个简单的MVC登录操作

1.首先,创建一个项目以及BLL层、DAL层、Entity层,如图一:

图一

2.创建一个数据库如图二:

图二

3基本工作已做好,接下来就编BLL层、DAL层、Entity层。

3.1先编Entity。Entity实体层(不属于三层架构的任意一层)定义一个类,主要用来保存以及传递数据库的信息。比如以图而的数据库为列,实体层代码如下:

<pre name="code" class="csharp">using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.ComponentModel.DataAnnotations;namespace Entity
{public class UserInfo{public int ID { get; set; }[Required(ErrorMessage="用户名不能为空")]public string UserName { get; set; }[Required(ErrorMessage = "密码不能为空")]public string UserPWD { get; set; }}
}

这样就定义了一个实体层(定义的字段和数据库里的一样)。

3.2 DAL层。DAL只提供基本的数据访问,在其内定义增删改查!比如登录(查)代码如下:

using Entity;
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace DAL
{public class UserService{//获取用户信息public UserInfo GetUser(string userName){string sql ="select * from userinfo where UserName=@username ";SqlParameter[] param = new SqlParameter[]{new SqlParameter("@username",userName),};// 执行UserInfo user =new UserInfo ();using (SqlDataReader sdr = SqlHelper.ExecuteReader(CommandType.Text, sql, param)){while(sdr.Read()){user.UserName = sdr["UserName"].ToString();user.UserPWD = sdr["UserPwd"].ToString();}return user;}}}
}

首先得引入Entity,其次,需要注意的是必须把UserService这个类定义为public类型的否者BLL层访问不到。代码就不一一解读了,多是一些很基础的语句。注:1.SqlHelper是一个已经封装好的类,专门执行sql语句。这里也可以自己写sql执行语句。2.须在web.config 里配置链接字符串。

3.3BLL层:

<pre name="code" class="csharp">using DAL;
using Entity;
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace BLL
{public class UserManager{public bool Login(string userName, string userPWD){// 业务逻辑层 调用 数据访问层UserService service = new UserService();UserInfo user =  service.GetUser(userName);if (user == null || user.UserPWD != userPWD){return false;}else{return true;}}}
}

首先还是得引入Entity和DAL。。。 负责处理业务逻辑。通过获取UI传来的用户指令,执行业务逻辑,在需要访问数据源的时候,直接交个DAL进行处理。处理完成后,返回必要数据给UI。其实BLL层很简单,

4.设计简单的登陆页面

<pre name="code" class="html"><body><div><%=Html.ValidationMessage("action") %><form action="<%=Url.Content("~/Home/DoLogin") %>" method="post"><table><tr><td>用户名</td><td><input name="username" /></td><td><%=Html.ValidationMessage("UserName") %></td></tr><tr><td>用户密码</td><td><input name="userpwd" type="password" /></td><td><%=Html.ValidationMessage("UserPwd") %></td></tr><tr><td colspan="2"><input type="submit" value="登陆" /></td></tr></table></form></div>
</body>

5.输入账号密码,点击提交按钮,将值交到控制器的DoLogin:

 public ActionResult DoLogin(string username,string userpwd){// model 验证失败if (!ModelState.IsValid){return View();}else{if (new UserManager().Login(username, userpwd)){return Content("<script>alert('登入成功!!!');location.href='index';</script>");}else { ModelState.AddModelError("action", "用户名或密码错误!!!");return View();}}

6.运行结果:

二丶实现增删改查

其实学会了登录功能后其他增删改查功能都是差不多的。只不过就是换了个sql语句,换汤不换药。我就不一一介绍了。

使用三层架构实现简单的MVC登陆操作!并实现基本的增删改查功能!!相关推荐

  1. 使用EF框架实现MVC的增删改查功能!!!Entity Framework

    一.什么是EF? ADO.NETEntity Framework 是微软以 ADO.NET 为基础所发展出来的对象关系对应 (O/R Mapping) 解决方案.ADO.NET Entity Fram ...

  2. MVC新手教程三:Entity Framework 4.0 来实现MVC的增删改查功能,10分钟搞定

    在这一节,我们使用VS2010自带的EF4.0来实现MVC的增删查改功能,为什么用EF呢?因为如果你自己手写sqlhelper之类,或者是用动软,和我们用EF的速度比,太慢太慢··· 当然,新手还是用 ...

  3. java之简单的增删改查功能

    目录 前言 一.查询 二.增加 三.删除 四.修改 五.界面展示: 前言 用增删改查写的简单版学生管理系统 运用了JavaScript,El表达式,c标签,mvc模式,三层架构,MySQL. 数据库辅 ...

  4. asp.net初学习实现简单的增删改查功能

    在学习中发现网页模板可以大大节约重复的页面代码,同时对于WebSite开发的程序在不同的页面直接调用已写好的代码既不方面,只是作为代码量不大的程序进行开发还是比较方便. get和post的区别get是 ...

  5. ASP.NET中新建MVC项目并连接SqlServer数据库实现增删改查

    场景 ASP.NET中MVC编程模式简介与搭建HelloWorld项目: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/10679 ...

  6. PHP连接数据库MySQL打造xxx管理系统,实现简单的增删改查功能

    目录 前言 概述 内容 创建数据库表 实现列表 新增用户 删除用户 编辑用户 前言 最近刚学完PHP和Mysql,历时半个多月时间完成了这样一个简单的算是人员管理系统吧,为了加深印象总结一下,还有很多 ...

  7. 保姆级Spring+Mybatis整合的简单增删改查功能实现

    Springboot和Mybatis整合实现增删改查等 0.文章中pageHelper相关的操作是分页查询的东西与本文无关 1.首先创建一个Springboot的项目 1.1Java一般选择的是8,看 ...

  8. .net mvc html访问数据库,ASP.NET中新建MVC项目并连接SqlServer数据库实现增删改查

    场景 ASP.NET中MVC编程模式简介与搭建HelloWorld项目: 在上面使用MVC搭建起来Hello World项目后,怎样连接SqlServer数据库并实现增删改查. 这里使用的是Visua ...

  9. .NET 三层架构+MVC+EF实现对数据库表的增删改查

    数据库: 表 项目层级: Model类库下: Student.cs类源码: namespace Model {public

最新文章

  1. SVN使用教程之——分支、合并
  2. 量子位「MEET 2022智能未来大会」启动,邀你一起见证AI价值
  3. python中标识符的命名规则_Python——标识符的命名规则
  4. 6个案例手把手教你用Python和OpenCV进行图像处理
  5. JSR 299 建议草案第二版已提交
  6. WAIC开发者日倒计时一天,收藏好这份完整日程
  7. 十三不香了?不止去掉刘海,iPhone14或改用QLC闪存:最高2TB容量
  8. Java初学者笔记五:泛型处理
  9. 编程语言python怎么读-编程零基础应当如何开始学习 Python?
  10. winform(C#)拖拽实现获得文件路径
  11. 通过Python将不同的附件发给不同的收件人
  12. vue中打印表格功能(重点是表格制作)
  13. python学习笔记_week19
  14. VMware ESXi 与ESX 产品之比较
  15. Manjaro-KDE安装动态桌面插件
  16. Windows中使用curl命令报错curl post [globbing] unmatched close brace/bracket in column 67
  17. python调用百度AI----文字识别
  18. 英语四六级及考研语法(学习方法)
  19. java 伪造邮箱地址_java如何实现伪造发信地址---针对于邮件攻击
  20. powershell美化

热门文章

  1. python使用matplotlib可视化线图(line plot)、为可视化图像添加双Y轴、分别可视化不同范围的数据(double y axis in matplotlib)
  2. R语言可视化分面图、多变量分组嵌套多水平t检验、可视化多变量分组嵌套多水平分面条形图(faceting bar plot)并添加显著性水平、添加误差条
  3. 高斯混合模型聚类实战(Gaussian Mixtures)
  4. 词频-逆向文件频率TF-IDF(term frequency–inverse document frequency)是什么?有什么用处?
  5. 差异表达基因富集结果可视化
  6. R语言包_lubridate
  7. group by详解
  8. flask 配置文件
  9. Java并发学习一:CPU缓存导致的可见性问题带来的并发Bug
  10. ASP .NET Core Web MVC系列教程二:添加控制器