码迷,mamicode.com
首页 > Web开发 > 详细

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

时间:2017-01-20 22:27:13      阅读:257      评论:0      收藏:0      [点我收藏+]

标签:open   form   input   false   erro   result   compare   err   设置   

知识点总结:

[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();
}
}
}

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

标签:open   form   input   false   erro   result   compare   err   设置   

原文地址:http://www.cnblogs.com/harveylv/p/6327423.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!