006.MVC实现注册登录知识点总结

知识点总结:

[DisplayName("用户名")]//显示的名字,与视图页的 @Html.LabelFor(x => x.Username)相对应
[Required(AllowEmptyStrings=false,ErrorMessage="{0}不能为空")]//可以验证非空,如果为空,则返回ErrorMessage后面的字符串
[Compare("Password",ErrorMessage="两次密码输入不一致")]//此语句可以进行比较,常用于注册时比较两次密码输入是否一致
[RegularExpression("此处为邮箱的正则表达式代码",ErrorMessage="{0}邮箱格式错误,请重新输入")]//可以进行正则表达式验证

@Html.ValidationMessageFor(x => x.Username, "", new { style = "color:red" })
@*此语句用于返回Model页面指定的提示信息,并且可以设置样式*@

ModelState.IsValid:Model页面所有的约束条件全都通过才会执行此if语句,否则执行else语句
if (ModelState.IsValid)
{}
else
{}

Model 页面代码:

public class Register
{
[DisplayName("用户名")]//显示的名字,与视图页的 @Html.LabelFor(x => x.Username)相对应
[Required(AllowEmptyStrings=false,ErrorMessage="{0}不能为空")]//可以验证非空,如果为空,则返回ErrorMessage后面的字符串
public string Username { get; set; }
[DisplayName("密码")]
[Required(AllowEmptyStrings = false, ErrorMessage = "{0}不能为空")]
public string Password { get; set; }
[DisplayName("确认密码")]
[Required(AllowEmptyStrings = false, ErrorMessage = "{0}不能为空")]
[Compare("Password",ErrorMessage="两次密码输入不一致")]//此语句可以进行比较,常用于注册时比较两次密码输入是否一致
public string Ispwd { get; set; }
[DisplayName("邮箱地址")]
[Required(AllowEmptyStrings = false, ErrorMessage = "{0}不能为空")]
[RegularExpression("此处为邮箱的正则表达式代码",ErrorMessage="{0}邮箱格式错误,请重新输入")]//可以进行正则表达式验证
public string Email { get; set; }
[DisplayName("角色")]
[Required(AllowEmptyStrings = false, ErrorMessage = "{0}不能为空")]
public string Role { get; set; }
}

视图页面代码:

<body>
@using (Html.BeginForm("Register", "Register"))
{
<div id="d1">
<div align="center" style="background-color: Gray">
新用户注册</div>
<table border="1" align="center">
<tr>
<td>
@Html.LabelFor(x => x.Username)@*这里是与Model页面的[RequiredName="用户名"]相对应*@
</td>
<td>
@Html.TextBoxFor(x => x.Username)
</td>
<td>
@*此语句用于返回Model页面指定的提示信息,并且可以设置样式*@
@Html.ValidationMessageFor(x => x.Username, "", new { style = "color:red" })
</td>
</tr>
<tr>
<td>
@Html.LabelFor(x => x.Password)
</td>
<td>
@Html.PasswordFor(x => x.Password)
</td>
<td>
@Html.ValidationMessageFor(x => x.Password, "", new { style = "color:red" })
</td>
</tr>
<tr>
<td>
@Html.LabelFor(x => x.Ispwd)
</td>
<td>
@Html.PasswordFor(x => x.Ispwd)
</td>
<td>
@Html.ValidationMessageFor(x => x.Ispwd, "", new { style = "color:red" })
</td>
</tr>
<tr>
<td>
@Html.LabelFor(x => x.Email)
</td>
<td>
@Html.TextBoxFor(x => x.Email)<br />
</td>
<td>
@Html.ValidationMessageFor(x => x.Email, "", new { style = "color:red" })
</td>
</tr>
<tr>
<td>
角色
</td>
<td>@Html.DropDownListFor(x => x.Role, new SelectList(new string[] { "超级管理员", "教师", "学生" }))
</td>
<td>
@Html.ValidationMessageFor(x => x.Role, "", new { style = "color:red" })
</td>
</tr>
</table>
<div align="center" style="background-color: Gray;">
<input type="Submit" value="注册" style="background-color: Green; width: 100px" />
</div>
</div>
}
</body>

控制器页面代码:

public class RegisterController : Controller
{
//
// GET: /Register/

[HttpGet]//初始显示的页面
public ActionResult Register()
{
return View();
}

[HttpPost]//进行处理的页面
public ActionResult Register(Day04作业练习注册和登录.Models.Register register)
{
//Model页面规定的非空与密码一致判断全都通过才会执行此if语句,否则执行else语句
if (ModelState.IsValid)
{
string sqlStr = string.Format("insert into Register values(‘{0}‘,‘{1}‘,‘{2}‘,‘{3}‘,‘{4}‘)", register.Username, register.Password,
register.Ispwd, register.Email, register.Role);//命令语句,用方法内的参数调用用户输入的数据
int rows = 0;
//选择连接字符串,需要先设置配置文件
string conString = ConfigurationManager.ConnectionStrings["STU"].ConnectionString;

using (SqlConnection conn = new SqlConnection(conString))
{
SqlCommand cmd = new SqlCommand();//声明命令对象
cmd.CommandText = sqlStr;//要执行的命令(Sql)语句
cmd.Connection = conn;//选择命令需要用的数据库连接
conn.Open();//打开连接
rows = cmd.ExecuteNonQuery();//返回受影响的行数

}
if (rows > 0)
{
//增加成功,在页面弹出注册成功的对话框
return Content("<script>alert(‘注册成功!‘)<script>","text/html");
}

return View();
}
else
{
return View();
}
}
}

时间: 2024-08-07 00:40:51

006.MVC实现注册登录知识点总结的相关文章

Thinkphp -- 利用MVC模式完成注册登录功能

这是一篇记录向,记录我后台的学习过程. 如有不正确的地方,请多多指教. 基础知识: MVC即 Model View Controller Model(模型)表示应用程序核心(比如数据库记录列表). View(视图)显示数据(数据库记录). Controller(控制器)处理输入(写入数据库记录). (图源https://www.runoob.com/design-pattern/mvc-pattern.html) 当我们浏览一个网页的时候首先会访问到View(视图层) 在我们输入用户名密码之后,

node.js基于express框架搭建一个简单的注册登录Web功能

这个小应用使用到了node.js  bootstrap  express  以及数据库的操作 :使用mongoose对象模型来操作 mongodb 如果没了解过的可以先去基本了解一下相关概念~ 首先注明一下版本,因为express因为版本的不同使用的方式也不同,我这算是目前最新的了吧 还没有装express的可以移步到这里 看看express框架的获取安装 1.简单地项目初始化 进入你的nodejs安装路径下边,如图,然后执行命令  express -e test  (这里把项目名设置为test

MVC下用户登录状态校验的问题以及解决方案--------------Action全局过滤器的使用

前言当我们访问某个网站的时候需要检测用户是否已经登录(通过Session是否为null),我们知道在WebForm中可以定义一个BasePage类让他继承System.Web.UI.Page,重写它的OnInit()方法,在OnInit()中判断Session中是否有用户登录的信息 1 /// <summary> 2 /// 公共基类里面干一些公共的事情 3 /// </summary> 4 public class BasePage : System.Web.UI.Page 5

一步步搭建自己的博客 .NET版(3、注册登录功能)

前言 这次开发的博客主要功能或特点:    第一:可以兼容各终端,特别是手机端.    第二:到时会用到大量html5,炫啊.    第三:导入博客园的精华文章,并做分类.(不要封我)    第四:做个插件,任何网站上的技术文章都可以转发收藏 到本博客. 所以打算写个系类:<一步步搭建自己的博客> 一.一步步搭建自己的博客  .NET版(1.页面布局.blog迁移.数据加载) 二.一步步搭建自己的博客  .NET版(2.评论功能) 三.一步步搭建自己的博客  .NET版(3.注册登录功能) 四

8、ABPZero系列教程之拼多多卖家工具 添加手机注册登录功能

现在网站基本都用手机注册,很少用邮箱注册,本篇内容比较多,代码我会尽量加备注,有些操作需要连续添加几个文件才不报错,如果VS显示错误,请继续后续步骤. 前面已经有一篇文章讲到集成短信发送模块:http://www.cnblogs.com/shensigzs/category/1147235.html 在此基础上才能做手机注册功能,没有完成的同学请先去整合后再回来. 语言文件 AbpZeroTemplate-zh-CN.xml文件末尾添加如下键值对: 文件路径:D:\abp version\asp

一个基于Unix套接字的注册登录系统

2016/5/5 今天,我参考<Unix网络编程-卷1>第5章的TCP回射客户/服务器程序写了一个简单的注册登录系统,其功能如下:(1)注册.客户端向服务器发送个人信息请求注册,服务器查询MySQL数据库以检查该客户是否已存在,若是则禁止注册,并返回“用户已存在,注册失败”的错误信息,否则将新用户信息添加到MySQL数据库,并返回“注册成功”的信息.(2)登录.客户端向服务器发送个人账号和密码等两项信息,服务器查询MySQL数据库以检查账号是否存在.账号和密码是否匹配,若不存在或不匹配则禁止登

RxSwift 实战操作【注册登录】

前言 看了前面的文章,相信很多同学还不知道RxSwift该怎么使用,这篇文件将带领大家一起写一个 注册登录(ps:本例子采用MVVM)的例子进行实战.本篇文章是基于RxSwift3.0写的,采用的是Carthage第三方管理工具导入的RxSwift3.0,关于Carthage的安装和使用,请参考Carthage的安装和使用. 最终效果 下载Demo点我 前提准备 首先请大家新建一个swift工程,然后把RxSwift引入到项目中,然后能够编译成功就行. 然后我们来分析下各个界面的需求: 注册界面

JSP注册登录页教程

转载请标明原文地址:http://www.cnblogs.com/zhangyukof/p/6785258.html  一.准备工作 已搭建好的SSH框架工程一个,如果没有,请参考我的上一篇文章<SSH框架搭建详细图文教程>. 二.登陆功能 1.打开MyEclipse切换到MyEclipse DataBase Explorer视图,右键user表选择"Hibernate Reverse Engineering",通过Spring框架的逆向工程功能把user表逆向生成Java

解决stackoverflow打开慢不能注册登录

http://blog.csdn.net/dream_an/article/details/50280977 解决stackoverflow打开慢不能注册登录 标签: stack overflowfirefox扩展打不开 2015-12-13 09:16 131人阅读 评论(2) 收藏 举报 分类: 综合(6) 作者同类文章X 版权声明:本文为博主原创文章,未经博主允许不得转载. 目录(?)[+] 解决stackoverflow打开慢不能注册登录 解决 1使用火狐浏览器 2安装扩展 Decent