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. java新手笔记24 Math/String对象

    1.Math package com.yfs.javase; public class MathDemo { public static void main(String[] args) { int ...

  2. Famount game manufacuters

    一.Valve「美国」 1.Valve「中文意:阀门」の来源 REFRE.Valve官网 REFER.a history of valve's opening logos REFER.theguyin ...

  3. QT5新手上路(2)发布exe文件

    QT编程教程在网上有很多,但写完代码以后如何打包成可执行exe文件却少有提及,本文主要介绍这一部分:1.首先确认自己建的工程在debug模式下运行无误.2.在release模式下运行一遍.(如何更改成 ...

  4. const char*、char*、char* const、char[]、string的区别

    1.const char* p: p is a pointer to const char(char const* p 一样)   意思就是不能通过p指针来修改p指向的内容(但是内容可以修改). 2. ...

  5. Mysql存储引擎__笔记

    Mysql存储引擎(表类型): Mysql数据库: 通常意义上,数据库也就是数据的集合,具体到计算机上数据库可以使存储器上一些文件的集合或者一些内存 数据的内存数据的集合. Mysql数据库是开放源代 ...

  6. 利用Keepalived+mysql构建高可用MySQL双主自动切转

    转载:http://www.it300.com/index.php/article-15266.html 关于MySQL-HA,目前有多种解决方案,比如heartbeat.drbd.mmm.共享存储, ...

  7. POJ1384完全背包问题

    题目大意:给你一个储蓄罐空的,和满的重量,然后给出各种硬币的价值和对应的重量,要你估计出储蓄罐里面硬币价值和最小为多少,注意要保证重量和恰好为给出满的重量解题思路:完全背包问题,只是求最小值,注意初始 ...

  8. python 调用第三方库压缩png或者转换成webp

    因为工作需要去研究了下png的压缩,发现转换成webp可以小很多,但是webp在手机上的解码速度比png的解码速度慢很多.出于进几年手机设备的处理器的性能也不错了,所以准备两套方案. 在网上搜索了一些 ...

  9. 长达半年的苹果发布会:亮点与槽点(iPhone5s,iPhone5c)

    不知出于什么原因,今天凌晨召开的苹果发布会并没有视频直播,所以大家都守着The Verge家的图文直播.结果,苹果再一次用事实证明了他们没有保密体系,或者,故意没有保密体系. 整场发布会正经的亮点如下 ...

  10. BeeFramework

    A semi-hybrid framework that allows you to create mobile apps using Objective-C and XML/CSS