asp.net core mvc 三、增删改数据【干货教程】

三 数据的增删改查

实现思路  在Controller里面增加 两个页面分别是  List  和 Edit

 

asp.net core mvc 三、增删改数据【干货教程】

 

对应的增加两个试图

 

视图 中的核心代码

 

<div class="ibox float-e-margins">
        <div class="ibox-content">

            <form id="divForm" method="POST">
            <div class="form-horizontal">
                <div class="row">
                    <div class="col-lg-6">
                        <div class="form-group">
                            <label class="col-sm-2 control-label"> 账号 :</label>
                            <div class="input-group">
                                <input type="text" class="form-control" id="loginName"  name="loginName" >
                                <span class="input-group-addon" style="color:red;">*</span>
                            </div>
                        </div>
                        <div class="form-group">
                            <label class="col-sm-2 control-label" id="loginPass"  name="loginPass" > 密码 :</label>
                            <div class="input-group">
                                <input type="password" class="form-control">
                                <span class="input-group-addon" style="color:red;">*</span>
                            </div>
                        </div>
                        <div class="form-group">
                            <label class="col-sm-2 control-label">名称</label>
                            <div class="input-group">
                                <input id="userName" type="text" class="form-control" name="userName" maxlength="60" minlength="2" />
                                <span class="input-group-addon" style="color:red;">*</span>
                            </div>
                        </div 
                    </div>
                </div>
            </div>
        </div>

        </form>
    </div>
</div>

 

<!-- 页面上增加 一个table -->
                <table id="dataTables" name="dataTables" class="table table-striped table-bordered table-hover">
                </table>

……

 

 

js代码

//根据ID获取某条数据 填充到form里面

                $.ajax({
                    url: "@Url.Action("GetMessById", "Users")",
                    type: "GET",
                    data: { id: sID },
                    dataType: "json",
                    success: function (data) {
                        $('#divForm').formEdit(data);
                    }, error: function (data) {
                        alert("error:" + data)
                    }
                });

 //全部数据加载到 table里面

 

        $("#dataTables").bootstrapTable({
            url: '@Url.Action("GetAllMess", "Users")',
            striped: true, //是否显示行间隔色
            cache: false, //是否使用缓存,默认为true,所以一般情况下需要设置一下这个属性(*)
            sortable: false  , //是否启用排序
            pagination: true, //是否显示分页(*)
            pageNumber: 1, //初始化加载第一页,默认第一页
            pageSize: 15, //每页的记录行数(*)
            pageList: [1, 10, 25, 50, 100], //可供选择的每页的行数(*)
            sidePagination: "server", //服务端处理分页
            search: false, //是否显示表格搜索,此搜索是客户端搜索,不会进服务端,所以,个人感觉意义不大
            columns: [
                { field: 'Users_ID', title: 'ID', width: '200', halign: 'center', align: 'left', sortable: false },
                { field: 'userName', title: '名称', width: '200', halign: 'center', align: 'left', sortable: false },
                { field: 'loginName', title: '登录名称', width: '200', halign: 'center', align: 'left', sortable: false },
                {
                    title: '编辑',
                    formatter: function (value, row, index) {
                        var url = '<input type="button" data-toggle="modal" style="cursor:pointer" data-target="#editModal" οnclick="checkAct(' + row.Users_ID + ',false)" value=" 编 辑" /> &nbsp; &nbsp; <input type="button" οnclick="confirm(\'你确定要删除本行吗?\')?deleteRow(' + row.Users_ID + '):deleteRow(0)" value=" 删 除" />';
                        return url;
                    }
                }]
        })

 

//根据查询条件 刷新table
        function searchAll() {
            var url = '@Url.Action("GetAllMess", "Users")?name='+$("#txtSearch").val();
            var opt = {
                url: encodeURI(url),
                cache: false,
                query: { type: 1, level: 2 }
             };
            $("#dataTables").bootstrapTable('refresh', opt);
        }

 

//删除某条数据

 


         //删除行
        function deleteRow(rowId) {
            if (rowId == 0) return;
            $.ajax({
                url: "@Url.Action("DoDelete", "Users")",
                type: "POST",
                data: { id: rowId },
                success: function (result) {
                    if (result == "success") {
                        var urlTemp = '@Url.Action("GetAllMess", "Users")';
                        var opt = {
                            url: encodeURI(urlTemp),
                            cache: false,
                            query: {
                                type: 1,
                                level: 2
                            }
                        };
                        $("#tables").bootstrapTable('refresh', opt);
                    } else if (result == "validateError") {
                        $("#mess").html("删除失败!");
                    }
                }
            });
        }

 

Controller 里面的核心代码

 

 

/// <summary>
        /// 添加数据
        /// </summary>
        /// <param name="obj"></param>
        /// <returns></returns>
        public async Task<string> DoAdd(Usersobj)
        {
            conObj.Add(obj);
            await conObj.SaveChangesAsync();
            return "success";
        }

        /// <summary>
        /// 修改数据
        /// </summary>
        /// <param name="obj"></param>
        /// <returns></returns>
        public async Task<string> DoUpdate(Usersobj)
        {
            conObj.Update(obj);
            await conObj.SaveChangesAsync();
            return "success";
        }

        /// <summary>
        /// 删除数据
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public async Task<string> DoDelete(int id)
        {
            var obj = await conObj.Users.FindAsync(id);
            conObj.Users.Remove(obj);
            await conObj.SaveChangesAsync();
            return "success";
        }

        /// <summary>
        /// 获取指定ID数据行
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public async Task<JsonResult> GetMessById(int? id)
        {
            if (id == null) return null;
            var obj = await conObj.Users
                .FirstOrDefaultAsync(m => m.Users_ID == id);
            if (obj == null) return null;
            return Json(obj);
        }

 

       /// <summary>
        /// 获取全部查询信息
        /// </summary>
        /// <param name="txtSearch">查询条件</param>
        /// <param name="offset">页数,从0开始</param>
        /// <param name="limit">载量</param>
        /// <returns></returns>
        public async Task<JsonResult> GetAllMess(string txtSearch, int offset, int limit)
        {
            List<CustGroup> list;
            if (string.IsNullOrEmpty(txtSearch))
                list = await conObj.CustGroup.ToListAsync();
            else
                list = await conObj.CustGroup.Where(p => p.GroupName.Contains(txtSearch)).ToListAsync();

            return Json(Tools.Page<CustGroup>(limit, offset, list));
        }