2021-11-01

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;">
        &copy;扫地僧
    </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>
                    &nbsp;&nbsp;&nbsp;&nbsp;
                    <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~"}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值