首页 > Web开发 > 详细

Asp.Net Mvc MES项目开发随笔:新建容器

时间:2020-03-03 14:09:42      阅读:79      评论:0      收藏:0      [点我收藏+]

开发一个简单的数据增删改查功能,用于对业务容器的增删改查。

这个功能也比较简单,就当复习Mvc项目的增删改查了。

主要界面:

技术分享图片

 

 

 需要实现的功能:

1、新增容器(编号,名称)

2、删除容器记录

3、更新容器(名称)

4、显示当前容器列表

就简单纯粹的增删改查,直接上代码

视图层:

@{
    ViewBag.Title = "YWRQ";
    Layout = "~/Views/Shared/_ReportLayout.cshtml";
}

    <div class="container" style="margin-top:20px">
        <div class="form-inline">
            <div class="form-group">
                <input id="Code" type="text" class="form-control" placeholder="容器代码" />
            </div>
            <div class="form-group">
                <input id="Name" type="text" class="form-control" placeholder="容器名称"/>
            </div>
            <div class="form-group">
                <button id="add" type="submit" class="btn btn-default">添加</button>
            </div>
        </div>
        <div class="row">
            <div class="col-md-5">
                <div class="separator"></div>
                <div class="panel panel-default">
                    <div class="panel-heading">
                        <h3 class="panel-title">现有业务容器</h3>
                    </div>
                    <div class="panel-body">
                        <table class="table table-bordered" id="t1">
                        </table>
                    </div>
                </div>
            </div>
        </div>
    </div>
@section scripts{
    <script type="text/javascript">
        $(document).ready(function () {
            ToList();
        })
        //遍历数据表内容
        function ToList() {
            $("#t1").append("<tr><th style=‘width:13%‘>容器编码</th><th style=‘width:50%‘>容器名称</th><th>操作</th></tr>")
            $.ajax({
                type:"GET",
                url: "QueryList",
                success: function (data) {
                    var JsonData = JSON.parse(data);
                    $.each(JsonData, function (i, value) {
                        $("#t1").append("<tr><td>" + value.Code + "</td><td><div>" + value.Name + "</div><input style=‘width:150px‘ onKeyPress=‘if(window.event.keyCode==13) this.blur()‘ class=‘form-control hidden‘ type=‘text‘ value=‘" + value.Name + "‘></td><td><a href=‘#‘ type=‘Update‘ class=‘btn btn-xs btn-info‘ Code=‘" + value.Code + "‘ Name=‘" + value.Name + "‘><i class=‘fa fa-pencil‘ aria-hidden=‘true‘></i></a>&nbsp;<a href=‘#‘ type=‘Del‘ class=‘btn btn-xs btn-danger‘ Code=‘" + value.Code + "‘><i class=‘fa fa-times‘ aria-hidden=‘true‘></i></a></td></tr>")
                    })
                    
                }
            })
        }
        //点击添加按钮,异步添加数据
        $("#add").click(function () {
            var Code = $("#Code").val();
            var Name = $("#Name").val();
            $.ajax({
                type: "POST",
                url: "Add",
                data: {
                    Code: Code,
                    Name: Name
                },
                success: function (data) {
                    if (data == "添加成功") {
                        layer.msg(data, { icon: 1 });
                        $("#t1").contents().remove();
                        ToList();
                    } else {
                        layer.msg("编码重复", { icon: 2 });
                    }
                    
                }
            })
        })
        //删除对应行
        $("#t1").on("click", "[type=‘Del‘]", function () {
            var Code = $(this).attr("Code");
            layer.confirm("确认删除?", { icon: 2, title: "提示" }, function () {
                $.ajax({
                url: "Del",
                data: {
                    Code: Code
                },
                success: function (data) {
                    if (data == "删除成功") {
                        layer.msg(data, { icon: 1 })
                        $("#t1").contents().remove();
                        ToList();
                    } else {
                        layer.msg("删除失败", { icon: 2 })
                    }
                }
            })
            })
        })
        //点击编辑按钮,将原有单元格内容隐藏,显示隐藏的文本框
        $("#t1").on("click", "[type=‘Update‘]", function () {
            $(this).parent().prev().find("div").addClass("hidden");
            $(this).parent().prev().find("input").removeClass("hidden");
        })
        //文本框失去焦点时,ajax请求数据库异步更新
        $("#t1").on("blur", "input", function () {
            var Code = $(this).parent().next().find("[type=‘Update‘]").attr("Code");
            var Name = $(this).val();
            //判断下用户输入的和以前一不一样,一样就不更新,不一样再更新
            if (Name != $(this).parent().next().find("[type=‘Update‘]").attr("Name")) {
                $.ajax({
                    url: "Update",
                    data: {
                        Code: Code,
                        Name: Name
                    },
                    success: function (data) {
                        $("#t1").contents().remove();
                        ToList();
                    }
                })
            } else {
                $("#t1").contents().remove();
                ToList();
            }
            
        })
    </script>
    }

控制器:

using Report.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;

namespace portal.Areas.report.Controllers
{
    public class YWRQController : Controller
    {
        // GET: YWRQ
        public ActionResult YWRQ()
        {
            return View();
        }
        //添加
        public string Add(YWRQModel vm)
        {
            return vm.Add();
        }
        //更新
        public string Update(YWRQModel vm)
        {
            return vm.Update();
        }
        //删除
        public string Del(YWRQModel vm)
        {
            return vm.Del();
        }
        public string QueryList(YWRQModel vm)
        {
            vm.ToList();
            return vm.Json1;
        }
    }
}

模型层:

using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Web;
using DBComponentWarehouse.GeneralHepler;
using Newtonsoft.Json;
using PES.BaseEntityKernel;
using portal.Models;

namespace Report.Models
{
    public class YWRQModel : BaseViewModel
    {
        public string Code { get; set; }
        public string Name { get; set; }
        public string Json1 { get; set; }
        //查询容器
        public void ToList()
        {
            SqlConnection sqlCon = new SqlConnection(GlobalConfiguration.GetInstance().GetConnectionString(_Com_id));
            string sql = string.Format(@"SELECT * FROM dbo.gl_BusinessContainer where com_id=‘{0}‘",_Com_id);
            SqlHelper sh = new SqlHelper();
            DataTable dt = sh.ReadDataTable(sqlCon, sql);
            this.Json1 = JsonConvert.SerializeObject(dt);
        }
        //增加容器
        public string Add()
        {
            SqlConnection sqlCon = new SqlConnection(GlobalConfiguration.GetInstance().GetConnectionString(_Com_id));
            string sql = string.Format(@"insert into dbo.gl_BusinessContainer
                                            (
                                                com_id
                                              , Code
                                              , Name
                                            )
                                            values
                                            (   ‘{0}‘ -- com_id - varchar(50)
                                              , ‘{1}‘ -- Code - varchar(50)
                                              , ‘{2}‘ -- Name - varchar(50)
                                                )",_Com_id,Code,Name);
            SqlHelper sh = new SqlHelper();
            try
            {
                sh.ExecuteNonQuery(sqlCon, sql);
                return "添加成功";
            }
            catch (Exception e)
            {
                return "添加失败"+e;
            }
            
        }
        //删除容器
        public string Del()
        {
            SqlConnection sqlCon = new SqlConnection(GlobalConfiguration.GetInstance().GetConnectionString(_Com_id));
            string sql = string.Format(@"delete from dbo.gl_BusinessContainer where com_id=‘{0}‘ and Code=‘{1}‘", _Com_id, Code);
            SqlHelper sh = new SqlHelper();
            try
            {
                sh.ExecuteNonQuery(sqlCon, sql);
                return "删除成功";
            }
            catch (Exception e)
            {
                return "删除失败" + e;
            }
        }
        //更新容器
        public string Update()
        {
            SqlConnection sqlCon = new SqlConnection(GlobalConfiguration.GetInstance().GetConnectionString(_Com_id));
            string sql = string.Format(@"update dbo.gl_BusinessContainer set Name=‘{0}‘ where com_id=‘{1}‘ and Code=‘{2}‘",Name,_Com_id, Code);
            SqlHelper sh = new SqlHelper();
            try
            {
                sh.ExecuteNonQuery(sqlCon, sql);
                return "更新成功";
            }
            catch (Exception e)
            {
                return "更新失败" + e;
            }
        }

    }
}

 

总结:

这个没什么难点,主要就是Ajax和Json的运用,然后基础的增删改查,Jq的一点东西。

Asp.Net Mvc MES项目开发随笔:新建容器

原文:https://www.cnblogs.com/dongbuyu/p/12375860.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!