MVC登录案例
1.在Controllers文件夹里面新建一个控制器HomeController;
2.在默认的Index方法里面添加一个视图,名字跟Controller中的方法名一样叫Index,添加后的视图文件会在Views文件夹Home下面,名字为:Index.cshtml,Home文件夹会自动添加;
3.打开视图文件Index.cshtml,添加如下html代码:
@Html.ActionLink("登录","Login","Home")等价于<a href="/Home/Login">登录</a>
4.设置Web.config配置文件,在connectionStrings节点下添加:
<add name="connstr" connectionString="server=PC-888;user id=sa;password=123;database=sy" />
5.在Model层添加一个类UsersModel.cs,用于访问数据库的数据,代码如下:
访问前先编写SQLHelper
public int UsersLogin(string username,string password)
{
int r = (int)SQLHelper.ExecuteScalar("select count(*) from Users where username=@username and password=@password",
new SqlParameter { ParameterName = "@username", Value = username },
new SqlParameter { ParameterName = "@password", Value = ProcessHelp.MD5(password) });
return r;
}
6.在Model层添加一个类ProcessHelp.cs,用于处理常用的数据,代码如下:
public static string MD5(string toCryString)
{
MD5CryptoServiceProvider hashmd5;
hashmd5 = new MD5CryptoServiceProvider();
return BitConverter.ToString(hashmd5.ComputeHash(Encoding.Default.GetBytes(toCryString))).Replace("-", "").ToLower();
}
7.在控制器HomeController.cs下面添加一个方法:
public ActionResult Login(string n)
{
string username = Request.Form["txtname"];
string password = Request.Form["txtpwd"];
//先获取表单的值
if (string.IsNullOrEmpty(username) || string.IsNullOrEmpty(password))
{
return View();
}
UsersModel users = new UsersModel();
int r = users.UsersLogin(username, password);
if (r > )
{
return Redirect("/TIPTOP/Index");//重定向后的控制器地址,TIPTOP为控制器前面的名字,Index为方法
}
return View();
}
8.在控制器HomeController下的方法Login添加一个视图
<form action="/Home/Login" method="post">
<table>
<tr>
<td>用户名:</td><td><input type="text" name="txtname" /></td>
</tr>
<tr>
<td>密码:</td><td><input type="password" name="txtpwd" /></td>
</tr>
<tr>
<td colspan="2"><input type="submit" name="btnOK" value="登录" /></td>
</tr>
</table>
</form>
等价于:
@using(Html.BeginForm())
{
<table>
<tr><td>用户名:</td><td>@Html.TextBox("txtname")</td></tr>
<tr><td>密码:</td><td>@Html.Password("txtpwd")</td></tr>
<tr><td colspan="2"><input type="submit" name="name" value="登录 " /></td></tr>
</table>
}
MVC登录案例的更多相关文章
- Spring Security Oauth2 单点登录案例实现和执行流程剖析
Spring Security Oauth2 OAuth是一个关于授权的开放网络标准,在全世界得到的广泛的应用,目前是2.0的版本.OAuth2在“客户端”与“服务提供商”之间,设置了一个授权层(au ...
- Android first---文件读取(登录案例编写为主)
以android登录案例来介绍文件的读取与androidAPI给予的方法 第一步:绘制界面 绘制方法:在线性布局下面设置相对布局 代码部分: <LinearLayout xmlns:androi ...
- ADO.NET学习系列(三)----做一个登录案例
总体思路.根据用户输入的用户名和密码,来判断,和数据库里面存的是不是一样,如果一样就表明登录成功,否则就登录失败. 方案一: 1.select* from 表名 where username=&quo ...
- 基于Struts2框架实现登录案例 之 使用Struts2标签库简化表单+继承ActionSupport完成输入交验
一,使用Struts2标签库简化表单 在文章[基于Struts2框架实现登录案例]的基础上,通过使用Struts标签库可以简化登录页面login2.jsp <%@ page language=& ...
- 简单登录案例(SharedPreferences存储账户信息)&联网请求图片并下载到SD卡(文件外部存储)
新人刚学习Android两周,写一个随笔算是对两周学习成果的巩固,不足之处欢迎各位建议和完善. 这次写的是一个简单登录案例,大概功能如下: 注册的账户信息用SharedPreferences存储: 登 ...
- Android(java)学习笔记213:开源框架post和get方式提交数据(qq登录案例)
1.前面提到Http的get/post方式 . HttpClient方式,实际工作的时候不常用到,因为这些方式编写代码是很麻烦的 2.Android应用会经常使用http协议进行传输,网上会有很完善 ...
- Android(java)学习笔记212:中文乱码的问题处理(qq登录案例)
1.我们在之前的笔记中LoginServlet.java中,我们Tomcat服务器回复给客户端的数据是英文的"Login Success","Login Failed&q ...
- Spring mvc登录拦截器
自己实现的第一个Spring mvc登录拦截器 题目要求:拒绝未登录用户进入系统,只要发现用户未登录,则将用户请求转发到/login.do要求用户登录 实现步骤: 1.在spring的配置文件中添加登 ...
- MVC 小案例 -- 信息管理
前几次更新博客都是每次周日晚上到周一,这次是周一晚上开始写,肯定也是有原因的!那就是我的 Tomact 忽然报错,无法启动,错误信息如下!同时我的 win10 也崩了,重启之后连 WIFI 的标志也不 ...
随机推荐
- 深入浅出Redis01安装
一 什么是Redis? Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供多种语言的API. Redis是一个高性能的Key-Va ...
- Core Animation编程指南
本文是<Core Animation Programming Guide>2013-01-28更新版本的译文.本文略去了原文中关于OS X平台上Core Animation相关内容.因为原 ...
- MyEclipse------遍历某个路径下的(所有或特定)文件和目录
usebean包(自己定义的,在src文件夹下面)里的java文件 FileAccept.java package usebean; import java.io.File; import java. ...
- 清理一下电脑垃圾,打开Eclipse发现左边的全部项目消失了
使用360清理一下电脑垃圾,打开Eclipse发现左边的全部项目消失了,但在对应的workspace可以找到项目,这个问题已经是第三次遇到了(估计是被360清理掉Eclipse的一些部署或配置文件所导 ...
- linux建立用户 详细
.你同时属于两个或两个以上的组. 两个条件你至少具备一个,你才能够把文件所属旧组变为新组.使用如下的命令将当前目录下所有html文件所属的组改为httpd: chgrp httpd *.html 和c ...
- 转 vagrant package[打包命令]详解
转 vagrant package[打包命令]详解 vagrant的一个非常重要的功能就是在你的同事之间分享你的box从而使大家的开发环境保持同步,打包[package]正是实现这一功能的关键所在 ...
- 改变了Tomcat路径后无法卸载和重装的解决办法
错误如下: ---------------------------Apache Tomcat Setup---------------------------Failed to install Tom ...
- Effective Java之最佳建议
#Effective Java之最佳建议 此书中,目前给我帮助最大的两条建议是: - 检查参数的有效性 - 不要忽略异常 ###检查参数的有效性 对于这一条,使我感同身受的原因是:在Web项目中,前期 ...
- 在.NET 环境中实现每日构建(Daily Build)--ccnet,MSBuild篇(转载)
每日构建,对我们团队来说一个全新的概念.随着项目开发的进展,在开发过 程需要及时反馈一些BUG和功能要求的处理情况.而在这种情况下每天或隔一段时间Build一个版本,工作量还是比较大的,所以就特别有必 ...
- 新浪微博客户端(32)-设置相册图片的contentMode
DJStatusPhotoView.m #import "DJStatusPhotoView.h" #import "UIImageView+WebCache.h&quo ...