• layui表格增删改查与上传图片+Api


    
    

    API  控制器1 主要用于增删改查已经反填数据查询

    using System;
    using System.Collections.Generic;
    using System.Data.SqlClient;
    using System.Linq;
    using System.Net;
    using System.Net.Http;
    using System.Web.Http;
    using UserInfoAPI.Models;
    namespace UserInfoAPI.Controllers
    {
        public class UserInfoSController : ApiController
        {
    
            UserDbContext db = new UserDbContext();
    
           /// <summary>
           /// 显示 分页
           /// </summary>
           /// <returns></returns>
            public Paging Get(int PageIndex=1 , int PageSize=5)
            {
                SqlParameter[] sp = new SqlParameter[]
                {
                     new SqlParameter("@PageIndex",PageIndex){ DbType=System.Data.DbType.Int32},
                     new SqlParameter("@PageSize",PageSize){ DbType=System.Data.DbType.Int32},
                     new SqlParameter("@TotalCount",System.Data.DbType.Int32){Direction=System.Data.ParameterDirection.Output}
                };
               string sql = "U_FenYe @PageIndex,@PageSize,@TotalCount output";
                Paging paging = new Paging();
                paging.data= db.Database.SqlQuery<UserInfoS>(sql,sp).ToList();
                paging.code = 0;
                paging.msg = "";
                paging.count =Convert.ToInt32(sp[2].Value);
                return paging;
            }
           /// <summary>
           /// 添加
           /// </summary>
           /// <param name="m"></param>
           /// <returns></returns>
            public int Post(UserInfoS m)
            {
                db.UserInfoS.Add(m);
                return db.SaveChanges();
            }
    
           /// <summary>
           /// 修改
           /// </summary>
           /// <param name="m"></param>
           /// <returns></returns>
            public int PostUpt(UserInfoS m)
            {
                db.Entry<UserInfoS>(m).State = System.Data.Entity.EntityState.Modified;
                return db.SaveChanges();
            }
    
            /// <summary>
            /// 删除
            /// </summary>
            /// <param name="id"></param>
            /// <returns></returns>
            public int GetResult(int id)
            {
                var user = db.UserInfoS.Find(id);
                db.UserInfoS.Remove(user);
                return db.SaveChanges();
            }
            /// <summary>
            /// 用于修改反填
            /// </summary>
            /// <param name="id"></param>
            /// <returns></returns>
            public UserInfoS GetUserInfo(int id)
            {
                return db.UserInfoS.Find(id);
            }
        }
    }
    

      Api 控制器2 用于上传图片

    using System;
    using System.Collections.Generic;
    using System.IO;
    using System.Linq;
    using System.Net;
    using System.Net.Http;
    using System.Web;
    using System.Web.Http;
    
    namespace UserInfoAPI.Controllers
    {
        public class UploadController : ApiController
        {
    
            public UploadModel Post()
            {
    HttpFileCollection file = HttpContext.Current.Request.Files; UploadModel model = new UploadModel() { code = 0, msg = "", data = null }; if (file!=null) { string str = Path.GetExtension(file[0].FileName).ToLower(); if (str.Equals(".jpg") || str.Equals(".png") || str.Equals(".gif")) { string p = "/Imgs/" + Path.GetFileName(file[0].FileName); file[0].SaveAs(HttpContext.Current.Server.MapPath(p)); ImgsModel m = new ImgsModel() { msg = "成功", src = p }; model.data = m; } } return model; } } public class ImgsModel { public string msg { get; set; } public string src { get; set; } } public class UploadModel { public int code { get; set; } public string msg { get; set; } public ImgsModel data { get; set; } } }

      Html 显示页面

    @{
        Layout = null;
    }
    
    <!DOCTYPE html>
    
    <html>
    <head>
        <meta name="viewport" content="width=device-width" />
        <title>Index</title>
        <link href="~/layui/css/layui.css" rel="stylesheet" />
        <script src="~/Scripts/jquery-3.4.1.js"></script>
    </head>
    <body>
        <div>
            <button class="layui-btn layui-btn-lg" onclick="Add()">
                    添加   
            </button>
        </div>
        <div>
            <table id="demo" lay-filter="test"></table>
        </div>
    
        <script type="text/html" id="toolbarDemo">
            <div class="layui-btn-container">
                <button class="layui-btn layui-btn-sm" lay-event="Upt">修改</button>
                <button class="layui-btn layui-btn-sm" lay-event="Del">删除</button>
            </div>
        </script>
        <script type="text/html" id="TouXiang">
            <div class="layui-btn-container">
                <img style="height:30px;30px;border-radius:50%;line-height:150px!important;" src="{{d.UImg}}" />
            </div>
        </script>
        <script src="~/layui/layui.js"></script>
        <script>
    
            layui.use('table', function () {
                var table = layui.table;
    
                table.render({
                    elem: '#demo',
                    height: 312,
                    url: "https://localhost:44304/api/userinfos/Get",
                    page: true,
                    cols:
                        [[
                            { field: 'UName', title: "用户名", sort: true, fixed: 'left' },
                            { field: 'UPwd', title: "密码", sort: true, fixed: 'left' },
                            { field: 'USex', title: "性别", sort: true, fixed: 'left', templet: function (d) { if (d.gender == false) { return '女' } else { return '男' } } },
                            { field: 'UHobby', title: "爱好", sort: true, fixed: 'left' },
                            { field: 'UImg', title: "头像", sort: true, fixed: 'left',templet:'#TouXiang' },
                            { field: 'URemark', title: "描述", sort: true, fixed: 'left' }
                            , { title: "操作", templet: '#toolbarDemo' }
                        ]],
                    request:
                    {
                        pageName: 'PageIndex',
                        limitName: 'PageSize'
                    }
                });
    
                table.on('tool(test)', function (obj) {
                    var data = obj.data; //获取当前行数据
                    var layEvent = obj.event; //获取lay-event对应得值
                    console.log(data);
                    if (layEvent == 'Del') {
                        layer.confirm('真得删除吗?', function (index) {
    
                            $.ajax({
                                url: 'https://localhost:44304/api/userinfos/GetResult/' + data.Id,
                                success: function (d) {
                                    if (d > 0) {
                                        layer.msg('删除成功', { icon: 1 });
                                        obj.del();
                                    }
                                    else {
                                        alert('失败')
                                    }
                                }
                            })
                        })
                    }
                    if (layEvent == 'Upt') {
    //因为用的是MVC所以跳转是控制器/方法 如果是html 直接名字加.html即可
    location.href = '/UserInfoS/Upt?Id=' + data.Id; } }) }); function Add() {
    //因为用的是MVC所以跳转是控制器/方法 如果是html 直接名字加.html即可 location.href = '/UserInfoS/Add'; } </script> </body> </html>

      添加页面

    @{
        Layout = null;
    }
    
    <!DOCTYPE html>
    
    <html>
    <head>
        <meta name="viewport" content="width=device-width" />
        <title>Add</title>
        <link href="~/layui/css/layui.css" rel="stylesheet" />
        <script src="~/Scripts/jquery-3.4.1.js"></script>
    </head>
    <body>
        <div> 
            <form action="/" method="post" class="layui-form">
                <div class="layui-form-item">
                    <label class="layui-form-label">头像</label>
                    <div class="layui-input-block">
                    
                        <input type="image" name="UImg" id="test2" src="" value="" />
                        <button type="button" class="layui-btn" id="test1">
                            <i class="layui-icon">�</i>上传图片
                        </button>
                    </div>
                </div>
    
                <div class="layui-form-item">
                    <label class="layui-form-label">用户名</label>
                    <div class="layui-input-block">
                        <input type="text" name="UName" required lay-verify="required" placeholder="请输入用户名" class="layui-input" />
                    </div>
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label">密码</label>
                    <div class="layui-input-block">
                        <input type="password" name="UPwd" required lay-verify="required" placeholder="请输入密码" class="layui-input" />
                    </div>
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label">性别</label>
                    <div class="layui-input-block">
                        <input type="radio" name="USex" value="男" title="男" checked />
                        <input type="radio" name="USex" value="女" title="女" />
                    </div>
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label">爱好</label>
                    <div class="layui-input-block">
                        <input type="checkbox" name="UHobby" value="写作" title="写作" checked />
                        <input type="checkbox" name="UHobby" value="阅读" title="阅读" />
                        <input type="checkbox" name="UHobby" value="发呆" title="发呆" />
                    </div>
                </div>
                <div class="layui-form-item layui-form-text">
                    <label class="layui-form-label">描述</label>
                    <div class="layui-input-block">
                        <textarea name="URemark" placeholder="请输入内容" class="layui-textarea"></textarea>
                    </div>
                </div>
                <div class="layui-form-item">
                    <div class="layui-input-block">
                        <button class="layui-btn" lay-submit lay-filter="formDemo">立即提交</button>
                    </div>
                </div>
            </form>
        </div>
        <script src="~/layui/layui.all.js"></script>
        
        <script>
    
            layui.use('upload', function () {
                var upload = layui.upload;
    
                var uploadInst = upload.render({
                    elem: "#test1",
                    url: "https://localhost:44304/api/Upload/Post",
                    done: function (res)
                    {
                        console.log(res);
                        layui.$("#test2").attr('src', 'https://localhost:44304' + res.data.src);
                          layui.$("#test2").attr('value','https://localhost:44304'+ res.data.src);
                        alert('上传成功');
                    },
                    error: function ()
                    {
    
                    }
                })
            })
    
    
    
            layui.use('form',function () {
                var form = layui.form;
    
                form.on('submit(formDemo)', function (data) {
    
                    console.log(data);
             
                    $.ajax({
                        url: "https://localhost:44304/api/userinfos/Post",
                        data: data.field,
                        type:"Post",
                        success: function () {
                            alert('成功');

    //因为用的是MVC所以跳转是控制器/方法 如果是html 直接名字加.html即可

    location.href = '/UserInfoS/Index'; } }) return false; } ) }) </script> </body> </html>

      修改页面

    @{
        Layout = null;
    }
    
    <!DOCTYPE html>
    
    <html>
    <head>
        <meta name="viewport" content="width=device-width" />
        <title>Add</title>
        <link href="~/layui/css/layui.css" rel="stylesheet" />
        <script src="~/Scripts/jquery-3.4.1.js"></script>
    </head>
    <body>
        <div>
            <form action="/" method="post" class="layui-form">
                <div class="layui-form-item">
                    <label class="layui-form-label">头像</label>
                    <div class="layui-input-block">
    
                        <input type="image" name="UImg" id="test2" src="" value="" />
                        <button type="button" class="layui-btn" id="test1">
                            <i class="layui-icon">�</i>上传图片
                        </button>
                    </div>
                </div>
    
                <div class="layui-form-item">
                    <label class="layui-form-label">用户名</label>
                    <div class="layui-input-block">
                        <input type="text" id="UName" name="UName" required lay-verify="required" placeholder="请输入用户名" class="layui-input" />
                        <input type="hidden" id="UId" name="Id" value="" />
                    </div>
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label">密码</label>
                    <div class="layui-input-block">
                        <input type="password" id="UPwd" name="UPwd" required lay-verify="required" placeholder="请输入密码" class="layui-input" />
                    </div>
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label">性别</label>
                    <div class="layui-input-block">
                        <input type="radio"id="USex" name="USex" value="男" title="男" checked />
                        <input type="radio" name="USex" value="女" title="女" />
                    </div>
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label">爱好</label>
                    <div class="layui-input-block">
                        <input type="checkbox" name="UHobby" value="写作" title="写作" checked />
                        <input type="checkbox" name="UHobby" value="阅读" title="阅读" />
                        <input type="checkbox" name="UHobby" value="发呆" title="发呆" />
                    </div>
                </div>
                <div class="layui-form-item layui-form-text">
                    <label class="layui-form-label">描述</label>
                    <div class="layui-input-block">
                        <textarea name="URemark" id="URemark" placeholder="请输入内容" class="layui-textarea"></textarea>
                    </div>
                </div>
                <div class="layui-form-item">
                    <div class="layui-input-block">
                        <button class="layui-btn" lay-submit lay-filter="formDemo">立即提交</button>
                    </div>
                </div>
            </form>
        </div>
        <script src="~/layui/layui.all.js"></script>
    
        <script>
    
          var loc = window.location.search;
          var n1 = loc.length;//地址的总长度
          var n2 = loc.indexOf("=");//取得=号的位置
          var id = loc.substr(n2 + 1, n1 - n2);//从=号后面的内容
    
            $.ajax({
                url: 'https://localhost:44304/api/UserInfoS/GetUserInfo/' + id,
                dataType: "json",
                success: function (d)
                {
                    console.log(d);
                    $("#UId").val(id);
                    $("#UName").val(d.UName);
                    $("#UPwd").val(d.UPwd);
                    $("#USex").attr('checked', d.USex);
                    $("#URemark").val(d.URemark);
                }
            })
    
    
    
    
            layui.use('upload', function () {
                var upload = layui.upload;
    
                var uploadInst = upload.render({
                    elem: "#test1",
                    url: "https://localhost:44304/api/Upload/Post",
                    done: function (res) {
                        console.log(res);
                        layui.$("#test2").attr('src', 'https://localhost:44304' + res.data.src);
                        layui.$("#test2").attr('value', 'https://localhost:44304' + res.data.src);
                        alert('上传成功');
                    },
                    error: function () {
    
                    }
                })
            })
    
    
    
            layui.use('form', function () {
                var form = layui.form;
    
                form.on('submit(formDemo)', function (data) {
    
                    console.log(data);
               
                    $.ajax({
                        url: "https://localhost:44304/api/userinfos/PostUpt",
                        data: data.field,
                        type: "Post",
                        success: function () {
                            alert('成功');
    //因为用的是MVC所以跳转是控制器/方法 如果是html 直接名字加.html即可

    location.href = '/UserInfoS/Index'; } }) return false; } ) }) </script> </body> </html>

      

  • 相关阅读:
    HashMap的理解
    红黑树
    No constructor found matching
    会话 控制终端 setsid
    信息表示和处理 from computer system chapter 2
    tcp keepalive
    TCP 四步挥手
    CS 课程
    close vs shutdown socket
    Linux time总结
  • 原文地址:https://www.cnblogs.com/ly-03-04/p/12323708.html
Copyright © 2020-2023  润新知