Session  保存状态是在 登陆窗口  检查用户密码的动作上执行

、Models
namespace 注册与登陆以及Session.Models
{
public class UserBF
{
private MyDBDataContext _context = new MyDBDataContext();
public bool Select(string username,string password) //验证用户名和密码是否正确(登陆)
{
var query = _context.logins.Where(P=>P.UserName==username&&P.PassWord==password);
return query.Count() > ;
} public void Insert(string UserName,string PassWord ) //注册
{
logins lo = new logins();
lo.UserName = UserName;
lo.PassWord = PassWord;
_context.logins.InsertOnSubmit(lo);
_context.SubmitChanges();
}
}
} 、Controllers
namespace 注册与登陆以及Session.Controllers
{
public class HomeController : Controller
{ public ActionResult Index()
{
return View();
}
public ActionResult Check(string username,string password) //登陆
{
bool isok= new UserBF().Select(username,password);
if(isok)
{ //保存状态
Session["user"] = username; //记录一下会话(登录状态) //跳转页面
return RedirectToAction("Html","Home");
}
else
{
return RedirectToAction("Index");
} }
public ActionResult Html() //登陆后的主页面
{
if (Session["user"] == null)
{
return RedirectToAction("Index", "Home");
}
return View();
}
public ActionResult Login() //注册编辑动作
{
if (Session["user"] == null)
{
return RedirectToAction("Index", "Home");
}
return View();
}
public ActionResult Insert(string username,string password)//注册动作
{
if (Session["user"] == null)
{
return RedirectToAction("Index", "Home");
}
new UserBF().Insert(username,password);
return RedirectToAction("Index");
}
}
} 、Views
Index:登陆界面
@{
Layout = null;
} <!DOCTYPE html> <html>
<head>
<meta name="viewport" content="width=device-width" />
<title>Index</title>
<style>
.aa
{
position:relative;
margin:auto;
width:400px;
height:400px; }
</style>
</head>
<body> @using(Html.BeginForm("Check","Home"))
{
<div class="aa">
用户名: @Html.TextBox("username","")<br>
密 码: &nbsp;@Html.Password("password","")<br>
<input id="Submit1" type="submit" value="登陆" />
<a href="/Home/Login"><input id="Button1" type="button" value="注册" /></a>
</div>
} </body>
</html> Login:注册页面
@{
Layout = null;
} <!DOCTYPE html> <html>
<head>
<meta name="viewport" content="width=device-width" />
<title>Login</title>
<style>
.aa
{
position:relative;
margin:auto;
width:400px;
height:400px; }
</style>
</head>
<body>
@using(Html.BeginForm("Insert","Home"))
{
<div class="aa">
用户名 : &nbsp;@Html.TextBox("username","")<br>
密 码 : &nbsp;&nbsp;@Html.Password("password","")<br>
确认密码: @Html.Password("passwordagain","")<br>
<input id="Submit1" type="submit" value="注册" />
</div>
}
</body>
</html> Html:登陆后的主页面
@{
Layout = null;
} <!DOCTYPE html> <html>
<head>
<meta name="viewport" content="width=device-width" />
<title>Html</title>
</head>
<body>
<div>
这是登陆后的页面 欢迎您: @Session["user"]
</div>
</body>
</html>

效果图:

登陆与注册以及Session的更多相关文章

  1. 本博文将一步步带领你实现抽屉官网的各种功能:包括登陆、注册、发送邮箱验证码、登陆验证码、页面登陆验证、发布文章、上传图片、form验证、点赞、评论、文章分页处理以及基于tronado的后端和ajax的前端数据处理。

    本博文将一步步带领你实现抽屉官网的各种功能:包括登陆.注册.发送邮箱验证码.登陆验证码.页面登陆验证.发布文章.上传图片.form验证.点赞.评论.文章分页处理以及基于tronado的后端和ajax的 ...

  2. 动态页面,登陆,注册,留言 JSP

    登陆页 主要使用html表单,javascript验证注册信息 <%@ page language="java" contentType="text/html; c ...

  3. php实现微信扫码自动登陆与注册功能

    本文实例讲述了php实现微信扫码自动登陆与注册功能.分享给大家供大家参考,具体如下: 微信开发已经是现在程序员必须要掌握的一项基本的技术了,其实做过微信开发的都知道微信接口非常的强大做起来也非常的简单 ...

  4. Django2.0——实现简易登陆、注册

    思路: 实现简易的登陆.注册,我们至少需要三个HTML页面,一个主页面.一个登陆界面.一个注册界面.为了存储和校验用户的账号和密码,我们需要写一个模型类(用于映射到数据库).两个form类(一个登陆. ...

  5. android简单登陆和注册功能实现+SQLite数据库学习

    最近初学android,做了实验室老师给的基本任务,就是简单的登陆和注册,并能通过SQLite实现登陆,SQlLite是嵌入在安卓设备中的 好了下面是主要代码: 数据库的建立: 这里我只是建立了一个用 ...

  6. python登陆,注册小程序

    def login(username,password): ''' 用于用户登录 :param username: 用户输入用户名 :param password: 用户输入密码 :return: T ...

  7. nodejs:注册登录session出错以及连接Mongodb数据库时Error connecting to database解决方案

    (1)nodejs:注册登录session出错 解决办法: 在app.js 中将var MongoStore =  require(connect-mongo')改为var MongoStore =  ...

  8. YII2中自定义用户认证模型,完成登陆和注册

    有些时候我们需要自已定义用户类,操作自已建的用户表,来完成登陆和注册功能. 用户表结构如下,当然可以根据自已的需要添加或删除: CREATE TABLE `tb_user` ( `id` int(11 ...

  9. 一、JDBC的概述 二、通过JDBC实现对数据的CRUD操作 三、封装JDBC访问数据的工具类 四、通过JDBC实现登陆和注册 五、防止SQL注入

    一.JDBC的概述###<1>概念 JDBC:java database connection ,java数据库连接技术 是java内部提供的一套操作数据库的接口(面向接口编程),实现对数 ...

随机推荐

  1. (转).Net平台开源作业调度框架Quartz.Net

    Quartz.NET介绍: Quartz.NET是一个开源的作业调度框架,是OpenSymphony 的 Quartz API的.NET移植,它用C#写成,可用于winform和asp.net应用中. ...

  2. C++ txt文档读取

    void readfile(string filepath){ ifstream myfile; if (!myfile) { cout << "打开文件出错!"; e ...

  3. POJ 2777(线段树)

    Count Color Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 42507   Accepted: 12856 Des ...

  4. sgu 110 Dungeon

    这道题是计算几何,这是写的第一道计算几何,主要是难在如何求入射光线的反射光线. 我们可以用入射光线 - 入射光线在法线(交点到圆心的向量)上的投影*2 来计算反射光线,自己画一个图,非常清晰明了. 具 ...

  5. JavaScript实现点击按钮弹出输入框,点确定后添加li组件到ul组件里

    JavaScript实现点击按钮弹出输入框,点确定后添加li组件到ul组件里 <!doctype html> <html manifest="lab4.manifest&q ...

  6. T-SQL

    今天继续数据库知识的梳理.接下来的主要内容是T-SQL,针对的数据库是SQL Server 2008. 几个术语 数据定义语言(DDL,Data Definition Language):用来建立数据 ...

  7. hdu 2191 珍惜现在,感恩生活 多重背包入门题

    背包九讲下载CSDN 背包九讲内容 多重背包: hdu 2191 珍惜现在,感恩生活 多重背包入门题 使用将多重背包转化为完全背包与01背包求解: 对于w*num>= V这时就是完全背包,完全背 ...

  8. c语言的一些基础知识

    c语言作为经典语言,这里不再多说了.咱从基础一起探讨吧! 一. 定义一个整型,如果作为局部变量,没有初始化的情况下,它是一个随机的值的,一般情况下输出会是0,但这个0是作为垃圾值的;而如果作为全局变量 ...

  9. UML用户指南--UML图简介

    本节和大家一起学习一下UML图,这里主要介绍UML结构图和UML行为图两部分,下面让我们一起看一下UML图的详细介绍吧. UML图 这里再次提到对软件体系结构进行可视化.详述.构造和文档化,有5种最重 ...

  10. Codeforces Round #208 (Div. 2)

    A - Dima and Continuous Line 水题:直接模拟: #include<cstdio> #define maxn 1005 using namespace std; ...