使用MVC实现登录功能
首先,从底层开始即Models:
(1)通用数据访问类(封装数据访问类方法):SqlHelper类
使用命名空间:using System.Data;
using System.Data.SqlClient;
using System.Configuration;//使用配置文件Web.config所需的命名空间
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Configuration;
using System.Data;
using System.Data.SqlClient; namespace mvcDemo.Models
{
/// <summary>
/// (1)通用访问类(封装数据访问类方法)
/// </summary>
public class SqlHelper
{
//定义链接字符串 private static string connString = ConfigurationManager.ConnectionStrings["connString"].ToString();//使用配置文件 public static SqlDataReader GetReader(string sql)
{
SqlConnection con = new SqlConnection(connString); SqlCommand com = new SqlCommand(sql, con);
try
{
con.Open();
return com.ExecuteReader(CommandBehavior.CloseConnection);//dataReader关闭后自动关闭
}
catch (Exception ex)
{
//写出错误日志 throw ex;
} }
}
}
web.config:配置为
<connectionStrings>
<add name="connString" connectionString="Server=.;DataBase=DBFirst;uid=sa;pwd=123456"/>//数据库连接字符串
</connectionStrings>
(2)数据访问类:实体名称+Service,需使用命名空间:
using System.Data;
using System.Data.SqlClient;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data;
using System.Data.SqlClient; namespace mvcDemo.Models
{
/// <summary>
///(2) 数据访问类
/// </summary>
public class sysAdminService
{/// <summary>
/// 根据账号和密码登录
/// </summary>
/// <param name="objAdmin"></param>
/// <returns></returns>
public sysAdmin AdminLogin(sysAdmin objAdmin)//返回对象思考??及对参数为实体的思考??
{
string sql = "select LoginName from First where LoginId={0}and LoginPwd='{1}'";
sql = string.Format(sql,objAdmin.LoginId,objAdmin.Loginpwd);//格式化 SqlDataReader objReader = SqlHelper.GetReader(sql);
if (objReader.Read())
{
objAdmin.LoginName = objReader["LoginName"].ToString();
}
else
{
objAdmin = null;
}
objReader.Close();
return objAdmin; }
}
}
(3)实体类
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web; namespace mvcDemo.Models
{
/// <summary>
/// 实体类
/// </summary>
public class sysAdmin
{
public int LoginId { get; set; }
public string LoginName { get; set; }
public string Loginpwd { get; set; }
}
}
其次,Views()【视图层】使用form提交
@{
Layout = null;
}
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width" />
<title>登录</title>
</head>
<body>
<form method="post" action="/sysAdmin/AdminLogin">
用户名:<input type="text" name="LoginId" />
<br /><br />
密码:<input type="password" name="Loginpwd"/>
<br /><br />
<input type="submit" value="登录" /><br />
<span style="color:red">@ViewData["info"]</span>
</form>
</body>
</html>
最后,Controller(控制器)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using mvcDemo.Models; namespace mvcDemo.Controllers
{
public class sysAdminController : Controller
{
public ActionResult Index()//呈现视图
{
return View();
}
//编写动作方法
public ActionResult AdminLogin()
{
//[1] 获取数据
int loginId = Convert.ToInt32(Request.Params["LoginId"]);
string loginpwd = Request.Params["Loginpwd"];//接受form提交的数据
sysAdmin objAdmin = new sysAdmin()
{
LoginId = loginId,
Loginpwd = loginpwd
};//对象初始化器(对属性赋值)
//[2] 业务处理 掉用数据访问类 使用数据访问类中的方法
objAdmin = new sysAdminService().AdminLogin(objAdmin);
if (objAdmin!=null)
{
ViewData["info"] = "欢迎登录!"+objAdmin.LoginName;
}
else
{
ViewData["info"] = "用户名或密码错误";
}
//[3] 返回数据(视图)
return View("Index");
}
}
}
注意:数据库的创建,若没有则报错
使用MVC实现登录功能的更多相关文章
- 一步步开发自己的博客 .NET版(3、注册登录功能)
前言 这次开发的博客主要功能或特点: 第一:可以兼容各终端,特别是手机端. 第二:到时会用到大量html5,炫啊. 第三:导入博客园的精华文章,并做分类.(不要封我) 第四:做 ...
- Struts2整合Hibernate3实现用户登录功能
所用技术:struts2 ,hibernate,jsp,mysql 本DEMO仅仅实现用户登录功能,采用MVC思想,自己也觉得相对是比较简单,比较容易理解数据流向的一个例子,通过整合这个过程,能够清晰 ...
- 网站集成QQ登录功能
最近在做一个项目时,客户要求网站能够集成QQ登录的功能,以前没做过这方面的开发,于是去QQ的开放平台官网研究了一下相关资料,经过自己的艰苦探索,终于实现了集成QQ登录的功能,现在把相关的开发经验总结一 ...
- 使用Struts1完成用户登录功能
1.Struts框架 框架(framework):就是一系列代码和开发模式的整合,使用框架后,所有开发人员都会按照框架提供的规范进行开发,使代码更容易维护和扩展. 使用框架的优点: 1) 易于维护 ...
- 网站集成QQ登录功能(转)
最近在做一个项目时,客户要求网站能够集成QQ登录的功能,以前没做过这方面的开发,于是去QQ的开放平台官网研究了一下相关资料,经过自己的艰苦探索,终于实现了集成QQ登录的功能,现在把相关的开发经验总结一 ...
- MVC - 单点登录中间件
本章将要和大家分享的是一个单点登录中间件,中间件听起来高深其实这里只是吧单点登录要用到的逻辑和处理流程封装成了几个方法而已,默认支持采用redis服务保存session的方式,也可以使用参数Func& ...
- 8、ABPZero系列教程之拼多多卖家工具 添加手机注册登录功能
现在网站基本都用手机注册,很少用邮箱注册,本篇内容比较多,代码我会尽量加备注,有些操作需要连续添加几个文件才不报错,如果VS显示错误,请继续后续步骤. 前面已经有一篇文章讲到集成短信发送模块:http ...
- MVC会员注销功能Cookie的应用
我们实现了<MVC应用程序实现会员登录功能>http://www.cnblogs.com/insus/p/3466512.html 有登录就会有注销功能.此次Insus.NET练习一个MV ...
- 使用 Flask 框架写用户登录功能的Demo时碰到的各种坑(二)——使用蓝图功能进行模块化
使用 Flask 框架写用户登录功能的Demo时碰到的各种坑(一)——创建应用 使用 Flask 框架写用户登录功能的Demo时碰到的各种坑(二)——使用蓝图功能进行模块化 使用 Flask 框架写用 ...
随机推荐
- 用jersey写简单Restful接口
1.在myeclipse中新建一个Dynamic Web Project 2.下载jar包,地址在这里 3.restful service代码 package com.qy; import javax ...
- Linux命令详解-echo
echo会将输入的字符串送往标准输出.输出的字符串间以空白字符隔开,并在最后加上换行号. 1.命令格式: file [ -bchikLnNprsvz ] [ -f namefile ] [ -F se ...
- 去掉Firefox的标题栏
Linux Mint里,火狐的标题栏很不美观,不过火狐可是出名的的“可定制”,Hide Caption扩展拖拖地满足你的要求,简直不能再好! 献上链接: https://addons.mozilla. ...
- 尝试读取或写入受保护的内存。这通常指示其他内存已损坏。(System.Data)
Sql server2012连接Sql server2008时出现的问题:已成功与服务器建立连接,但在登陆过程中发生错误.(provider:SSLProvider,error:0-接收到的消息异常, ...
- JavaScript学习总结(二十一)——使用JavaScript的数组实现数据结构中的队列与堆栈
今天在项目中要使用JavaScript实现数据结构中的队列和堆栈,这里做一下总结. 一.队列和堆栈的简单介绍 1.1.队列的基本概念 队列:是一种支持先进先出(FIFO)的集合,即先被插入的数据,先被 ...
- JS类型转换之valueOf和toString详解
最近群里有人发了下面这题: 实现一个函数,运算结果可以满足如下预期结果: add(1)(2)// 3 add(1,2,3)(10)// 16 add(1)(2)(3)(4)(5)// 15 对于一个好 ...
- oracle过滤某个字段重复记录,只获取一条记录
一,首先想到: 1,关键字distinct 2,group by 3,MAX,MIN这样的函数被称为聚集函数,和GROUP搭配起来用 但均无法实现,执行结果如下 举例: 表名:OffsiteOutre ...
- Oracle(一)安装
一.到官网或者哪里去下载Oracle,我下的是winX64的11g版本 官网:https://www.oracle.com/technetwork/database/enterprise-editio ...
- C语言——第四次作业(2)
作业要求一 项目wordcount 设计思路:输入需统计的文件名,打开此文件,输入功能对应的字符,分别实现对应的功能,关闭文件. 主要代码 #include<stdio.h> #inclu ...
- Java第五次作业--面向对象高级特性(抽象类和接口)
一.学习要点 认真看书并查阅相关资料,掌握以下内容: 掌握抽象类的设计 掌握接口的设计 理解简单工厂设计模式 理解抽象类和接口的区别 掌握包装类的应用 掌握对象的比较方法和比较器的使用 学习使用日期操 ...