using Ef.SqlServer.com.Models;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Logging;
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Threading.Tasks;
namespace Ef.SqlServer.com.Controllers
{
public class HomeController : Controller
{
private readonly ILogger<HomeController> _logger;
private CszsgcadiContext db = new CszsgcadiContext();
public HomeController(ILogger<HomeController> logger)
{
_logger = logger;
}
public IActionResult Index()
{
return View();
}
public IActionResult Privacy()
{
return View();
}
// //验证方法
public static string VerificationCodeCacheFormat = "vcode_cache_{0}";
public IActionResult ValidateCode()
{
VerificationCodeServices _vierificationCodeServices = new VerificationCodeServices();
string code = "";
System.IO.MemoryStream ms = _vierificationCodeServices.Create(out code);
code = code.ToLowerInvariant();//验证码不分大小写
HttpContext.Session.SetString("SupportValidateCode", code);
Response.Body.Dispose();
var token = Guid.NewGuid().ToString();
Response.Cookies.Append("validatecode", token);
return File(ms.ToArray(), @"image/png");
}
public IActionResult IzUserVoder(string userVerCode)
{
if (VerifyUserInputCode(userVerCode))
{
HttpContext.Session.SetString("SupportValidateCode", "");
return Json(1);
}
return Json(0);
}
/// <summary>
/// 验证码判断
/// </summary>
/// <param name="userVerCode"></param>
/// <returns></returns>
public bool VerifyUserInputCode(string userVerCode)
{
string vCode = HttpContext.Session.GetString("SupportValidateCode");
if (vCode != userVerCode) return false;
return true;
}
public IActionResult Login(string Name, string pwd)
{
ContentResult Content = new ContentResult();
Content.ContentType = "text/html";
if (string.IsNullOrEmpty(Name))
{
return RedirectToAction("Index");
}
if (string.IsNullOrEmpty(pwd))
{
return RedirectToAction("Index");
}
Usera data = db.Useras.Where(p => p.Name == Name.Trim()
&& p.pwd == pwd.Trim()).FirstOrDefault();
if (data == null)
{
return RedirectToAction("Index");
}
HttpContext.Session.SetString("Name", data.Name);
return RedirectToAction("list");
}
public IActionResult list()
{
List<stuInfo> data = db.StuInfos.ToList();
if (HttpContext.Session.GetString("Name") != null)
{
ViewBag.Account = HttpContext.Session.GetString("Name");
}
else
{
return RedirectToAction("Index");
}
return View(data);
}
public IActionResult add()
{
;
return View();
}
public IActionResult edit(int id)
{
return View(db.StuInfos.Find(id));
}
public IActionResult Delete(int id)
{
stuInfo data = db.StuInfos.Find(id);
db.StuInfos.Remove(data);
db.SaveChanges();
return RedirectToAction("list");
}
public IActionResult save(stuInfo stuInfo)
{
if (stuInfo.sidb > 0)
{
//修改
stuInfo data = db.StuInfos.Find(stuInfo.sidb);
if (data != null)
{
//stuName,stuNo,stuSex,stuAge
data.stuName = stuInfo.stuName;
data.stuNo = stuInfo.stuNo;
data.stuSex = stuInfo.stuSex;
data.stuAge = stuInfo.stuAge;
}
}
else
{
//新增
db.StuInfos.Add(stuInfo);
}
db.SaveChanges();
return RedirectToAction("list");
}
[ResponseCache(Duration = 0, Location = ResponseCacheLocation.None, NoStore = true)]
public IActionResult Error()
{
return View(new ErrorViewModel { RequestId = Activity.Current?.Id ?? HttpContext.TraceIdentifier });
}
}
}
@{
ViewData["Title"] = "Home Page";
}
<div style="border:1px solid #808080;width:450px;height:450px;">
<div class="text-center" style="margin-top:30px;">
<form action="Home/Login" method="post">
<div style="margin-left:-62px;">
账号:<input type="text" class="col-form-label-sm" id="Name" name="Name" />
</div>
<br />
<div style="margin-left: -62px;">
密码:<input type="password" class="col-form-label-sm" id="pwd" name="pwd" />
</div>
<br />
<div>
验证码:<input type="text" id="validateCode" class="col-form-label-sm" />
<img id="imgVerify" src="~/Home/ValidateCode" alt="看不清?点击更换" onclick="this.src = this.src + '?'" style="vertical-align:middle;" />
</div>
<br />
<span id="code" style="color:red"></span>
<br />
<br />
<button type="submit" class="btn btn-primary" onclick="addPush()">登录</button>
</form>
</div>
<br />
<br />
<br />
<div class="text-center"style="margin-top:30px;">
©扫地僧
</div>
</div>
@section Scripts{
<script type="text/javascript">
$(function () {
});
var str = "?";
function addPush() {
$.ajax({
url: 'Home/IzUserVoder',
dataType: 'JSON',
type: 'POST',
data: {
userVerCode: $("#validateCode").val()
},
success: function (date) {
if (date == "0") {
$("#imgVerify").attr("src", "Home/ValidateCode" + str)
$("#validateCode").val("");
$("#code").css("color", "red");
$("#code").html("验证码不正确");
str += str;
return;
}
$("#code").css("color", "black");
$("#code").html("验证码正确");
}
})
}
</script>
}
@{
ViewData["Title"] = "list";
}
@model List<stuInfo>
<form>
<div class="form-group row">
<label for="staticEmail" class="col-sm-2 col-form-label">🤵 用户名:@ViewBag.Name</label>
<a class="nav-link text-dark" asp-area="" asp-controller="Home" asp-action="index">注销</a>
</div>
<div class="form-group row"style="margin-left:5px;">
<a class="btn btn-primary" href="/home/add">新增</a>
</div>
</form>
<table class="table table-bordered table-hover table-striped">
<thead>
<tr style="text-align:center">
<th scope="col">编号</th>
<th scope="col">姓名</th>
<th scope="col">学号</th>
<th scope="col">性别</th>
<th scope="col">年龄</th>
<th scope="col">操作</th>
</tr>
</thead>
<tbody>
@foreach (var item in Model)
{
<tr style="text-align:center">
<th scope="row">@item.sidb</th>
<td>@item.stuName</td>
<td>@item.stuNo</td>
<td>@item.stuSex</td>
<td>@item.stuAge</td>
<td>
<a class="btn-primary" href="/Home/edit/@item.sidb"style="text-decoration:none;">修改</a>
<a class="btn-danger" href="/Home/delete/@item.sidb"style="text-decoration:none;">删除</a>
</td>
</tr>
}
</tbody>
</table>
CREATE TABLE Usera(
id int not null,
Name nvarchar(20) not null,
pwd nvarchar(20) not null
)
select * from Usera;
insert Usera (id, Name, pwd) values(1,N’admin’,N’123’)
create table stuInfo
(
sidb int identity primary key,
stuName nchar(8) not null, --学生姓名
stuNo nchar(6) not null, --学号
stuSex nchar(2) not null, --性别
stuAge int not null, --年龄
)
insert into stuInfo (stuName,stuNo,stuSex,stuAge)
values (N’张三’,‘s25301’,N’男’,18)
insert into stuInfo (stuName,stuNo,stuSex,stuAge)
values (N’李四’,‘s25303’,N’女’,22)
insert into stuInfo (stuName,stuNo,stuSex,stuAge)
values (N’王五’,‘s25302’,N’男’,31)
insert into stuInfo (stuName,stuNo,stuSex,stuAge)
values (N’周星星’,‘s25304’,N’男’,28)
{“isSuccess”:false,“resultMsg”:"\u4E0A\u4F20\u5931\u8D25\uFF0C\u672A\u68C0\u6D4B\u4E0A\u4F20\u7684\u6587\u4EF6\u4FE1\u606F~"}