A、数据库表引用先前建立的company 公司信息表。

B、建立文件:

views 》 Home 》 Company.cshtml(新建文件) ,代码如下(直接复制即可)

@{

Layout = Layout = "~/Views/Shared/_Layout.cshtml"; ;

}

<div style="width:100%;">

<div class="mini-toolbar" style="border-bottom:0;padding:0px;">

<table style="width:100%;">

<tr>

<td style="width:100%;">

<a class="mini-button" iconCls="icon-add" onclick="add()">添加</a>

</td>

<td style="white-space:nowrap;">

<input id="key" name="key" class="mini-textbox" emptyText="请输入姓名" style="width:150px;"   />

<a class="mini-button" onclick="search()">查询</a>

</td>

</tr>

</table>

</div>

</div>

<div id="datagrid1" class="mini-datagrid" style="width:100%;height:280px;" allowResize="true" pageSize="10"

url="/Home/CompanyList" idField="id" multiSelect="true" pagesize="20" showpager="true">

<div property="columns">

<!--<div type="indexcolumn"></div>        -->

<div type="checkcolumn"></div>

<div field="CompanyName" width="120" headerAlign="center" allowSort="true">公司名称</div>

<div field="Address" width="120" headerAlign="center" allowSort="true">地址</div>

<div field="mobile" width="120" headerAlign="center" allowSort="true">电话</div>

<div name="action" width="100" renderer="onGenderRenderer" headerAlign="center">操作</div>

</div>

</div>

<script>

mini.parse();

var grid = mini.get("datagrid1");

grid.load();

grid.on("drawcell", function (e) {

var record = e.record,

column = e.column,

field = e.field,

value = e.value;

//action列,超连接操作按钮

if (column.name == "action") {

e.cellStyle = "text-align:center";

e.cellHtml = '<a   class="mini-button" style="width:60px;"   href="javascript:edit(\'' + record.id + '\')">修改</a>&nbsp; '

+ '<a   class="mini-button" style="width:60px;"  href="javascript:del(\'' + record.id + '\')" >删除</a>'

}

});

function search() {

var key = mini.get("key").value;

grid.load({ key: key });

}

$("#key").bind("keydown", function (e) {

if (e.keyCode == 13) {

search();

}

});

function del(rowid) {

if (rowid.length > 0) {

if (confirm("确定删除选中记录?")) {

grid.loading("操作中,请稍后......");

$.ajax({

url: "/Home/Delete?id=" + rowid,

type: "post",

success: function (text) {

grid.reload();

},

error: function () {

}

});

}

} else {

alert("请选中一条记录");

}

}

//添加、修改

function edit(rowid) {

mini.open({

targetWindow: window,

url: "/Home/CompanyEdit?Id=" + rowid,

title: "设置条件", width: 800, height: 600,

onload: function () {

var iframe = this.getIFrameEl();

var data = { action: "new" };

iframe.contentWindow.OpenContext = { parent: window, popwin: this };

},

ondestroy: function (action) {

loading();

grid.reload();

}

});

}

//新建

function add() {

mini.open({

targetWindow: window,

url: "/Home/CompanyEdit",

title: "添加菜单", width: 700, height: 300,

onload: function () {

var iframe = this.getIFrameEl();

var data = { action: "new" };

loading();

iframe.contentWindow.OpenContext = { parent: window, popwin: this };

},

ondestroy: function (action) {

grid.reload();

}

});

}

function loading() {

mini.mask({

el: document.body,

cls: 'mini-mask-loading',

html: '加载中...'

});

setTimeout(function () {

mini.unmask(document.body);

}, 1000);

}

</script>

views 》 Home 》CompanyEdit.cshtml(新建文件) ,代码如下(直接复制即可)

@model MiniUi_Dapper.Controllers.Company

@{

ViewBag.Title = "CompanyEdit";

Layout = "~/Views/Shared/_Layout.cshtml";

}

<form id="form1" method="post">

<div class="mini-fit'">

<input name="Id" id="Id" class="mini-hidden" value="@Model.id" />

<table border="0" cellpadding="2" cellspacing="0" class="EditTable" style="width: 100%">

<tr>

<td class="tdLabel" style="width: 30%;"> 公司名称:</td>

<td class="tdText" style="width: 70%;"><input  class="mini-textbox" id="CompanyName" name="CompanyName" style="width: 200px;" value="@Model.CompanyName"></td>

</tr>

<tr>

<td class="tdLabel" style="width: 30%;">  地址: </td>

<td class="tdText" style="width: 70%;"> <input   class="mini-textbox" id="Address" name="Address" style="width: 200px;" value="@Model.Address">  </td>

</tr>

<tr>

<td class="tdLabel" style="width: 30%;">  电话: </td>

<td class="tdText" style="width: 70%;"> <input   class="mini-textbox" id="mobile" name="mobile" style="width: 200px;" value="@Model.mobile">  </td>

</tr>

</table>

<div style="text-align:center;padding:10px;">

<a class="mini-button" onclick="onOk" style="width:60px;margin-right:20px;">确定</a>

<a class="mini-button" onclick="onCancel" style="width:60px;">取消</a>

</div>

</div>

</form>

<script type="text/javascript">

mini.parse();

var form = new mini.Form("form1");

function SaveData() {

var form = new mini.Form("#form1");

var data = form.getData();      //获取表单多个控件的数据

//var json = mini.encode(data);   //序列化成JSON

$.ajax({

url: "/Home/CompanySave",

type: "post",

data: data,

success: function (text) {

//alert("提交成功,返回结果:" + text);

//grid.reload();

CloseWindow("提交成功");

}

});

}

function GetData() {

var o = form.getData();

return o;

}

function CloseWindow(action) {

if (action == "close" && form.isChanged()) {

if (confirm("数据被修改了,是否先保存?")) {

return false;

}

}

if (window.CloseOwnerWindow) return window.CloseOwnerWindow(action);

else window.close();

}

function onOk(e) {

SaveData();

}

function onCancel(e) {

CloseWindow("cancel");

}

</script>

Controllers》HomeController.cs(控制器新建方法) ,代码如下(直接复制即可)

#region  公司管理

/// <summary>

///

/// </summary>

/// <param name="pageIndex"></param>

/// <param name="pageSize"></param>

/// <param name="key">查询关键字,当前匹配公司名称</param>

/// <returns></returns>

[HttpPost]

public ActionResult CompanyList(int? pageIndex, int? pageSize,string key)

{

using (var conn = new MySqlConnection(ConnectionString))

{

pageIndex = pageIndex ?? 0;

pageSize = pageSize ?? 10;

string query = "";

if (key != null && key.Trim() != "")

query = "select * from Company" + " where CompanyName like '%"+ key +"%'";

else

query = "select * from Company";

var result = conn.Query<Company>(query).ToList();

var total = result.Count();

var list = result

.OrderByDescending(d => d.id).Skip((pageIndex * pageSize).Value)

.Take((pageSize).Value).Select(d => new

{

d.id,

d.CompanyName,

d.Address,

d.mobile,

d.link,

d.intodate

}).ToList();

return Json(new { total = total, data = list }, JsonRequestBehavior.AllowGet);

}

}

[HttpGet]

[Display(Description = "加载公司信息")]

public ActionResult CompanyEdit(int? id)

{

//点击编辑页面,如果id=0 则是增加操作,如果id>0则是修改操作。

using (var conn = new MySqlConnection(ConnectionString))

{

Company n;

if ((id ?? 0) == 0)

n = new Company();

else

{

n = conn.Query<Company>("select * from company where id=" + id).FirstOrDefault();

if (n == null)

return View("无公司信息");

}

return View(n);

}

}

[HttpPost]

[Display(Description = "保存公司信息")]

public ActionResult CompanySave(Company company)

{

try

{

using (var conn = new MySqlConnection(ConnectionString))

{

if (company.id == 0)

{

var query = " INSERT INTO `company`(`CompanyName`, `Address`, `mobile`, `link`) VALUES (@CompanyName, @Address, @mobile, @link) ;";

var result = conn.Query<Company>(query,company).FirstOrDefault();

return Json(new { @return = 1 }, JsonRequestBehavior.AllowGet);

}

else

{

var query = "UPDATE  `company` SET `CompanyName` = @CompanyName, `Address` = @Address, `mobile` = @mobile, `link` = @link WHERE `id` = "+ company.id + ";";

var result = conn.Query<Company>(query, company).FirstOrDefault();

if (result == null)

return Json(new { @return = 1 }, JsonRequestBehavior.AllowGet);

else

return Json(new { @return = 1 }, JsonRequestBehavior.AllowGet);

}

}

}

catch (Exception ex)

{

return Json(new { @return = 1 }, JsonRequestBehavior.AllowGet);

}

return Json(new { @return = 1 }, JsonRequestBehavior.AllowGet);

}

/// <summary>

/// 根据表主键Id进行删除

/// </summary>

/// <param name="id"></param>

/// <returns></returns>

public ActionResult Delete(int id)

{

using (var conn = new MySqlConnection(ConnectionString))

{

conn.Execute("delete from company where id=" + id);

return Json(new { @return = 1 }, JsonRequestBehavior.AllowGet);

}

}

#endregion

修改左菜单导航的json文件

到此完成数据库的增删改查操作。运行一下看看结果。

可加qq群索要源码或交流:547765059

vs2017 + miniUI + dapper 添加、修改、删除、查询操作的更多相关文章

  1. Xamarin.Android 入门实例(4)之实现对 SQLLite 进行添加/修改/删除/查询操作

    1.Main.axml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns: ...

  2. 打通前后端全栈开发node+vue进阶【课程学习系统项目实战详细讲解】(3):用户添加/修改/删除 vue表格组件 vue分页组件

    第三章 建议学习时间8小时      总项目预计10章 学习方式:详细阅读,并手动实现相关代码(如果没有node和vue基础,请学习前面的vue和node基础博客[共10章] 演示地址:后台:demo ...

  3. JavaWeb_day03_员工信息添加修改删除

    day03员工的添加,修改,删除 修改功能 思路 : 点击修改员工数据之后,跳转到单行文本,查询要修改的员工id的全部信息,主键id设置为readonly,其余的都可以修改, 修改之后,提交按钮,提交 ...

  4. Web 1三级联动 下拉框 2添加修改删除 弹框

    Web  三级联动 下拉框 using System; using System.Collections.Generic; using System.Linq; using System.Web; u ...

  5. 【转】C#添加修改删除文件文件夹大全

    [转]C#添加修改删除文件文件夹大全 C#添加修改删除文件文件夹大全 StreamWriter sw = File.AppendText(Server.MapPath(".")+& ...

  6. SpringBoot定时任务升级篇(动态添加修改删除定时任务)

    需求缘起:在发布了<Spring Boot定时任务升级篇>之后得到不少反馈,其中有一个反馈就是如何动态添加修改删除定时任务?那么我们一起看看具体怎么实现,先看下本节大纲: (1)思路说明: ...

  7. ORM简介 单表添加修改删除表记录

    ---------------------------------------------------------------目标既定,在学习和实践过程中无论遇到什么困难.曲折都不灰心丧气,不轻易改变 ...

  8. mysql字段添加修改删除

    MySQL添加字段和修改字段   MySQL添加字段的方法并不复杂,下面将为您详细介绍MYSQL添加字段和修改字段等操作的实现方法,希望对您学习MySQL添加字段方面会有所帮助. 1添加表字段 alt ...

  9. Oracle的学习二:表管理(数据类型、创建/修改表、添加/修改/删除数据、数据查询)

    1.Oracle表的管理 表名和列名的命名规则: 必须以字母开头: 长度不能超过30个字符: 不能使用oracle的保留字: 只能使用如下字符:A-Z, a-z, 0-9, $, # 等. Oracl ...

随机推荐

  1. Linux学习笔记01

    1.Linux不靠扩展名区分文件类型2.存储设备必须先挂载才能使用3.Windows下的程序不能直接在Linux中安装和运行 一.服务器的管理预配置Linux的目录的作用:/bin/存放系统命令的目录 ...

  2. nyoj 2 括号配对问题(stack)

    括号配对问题 时间限制:3000 ms  |            内存限制:65535 KB 难度:3   描述 现在,有一行括号序列,请你检查这行括号是否配对.   输入 第一行输入一个数N(0& ...

  3. [K/3Cloud] 分录行复制和新增行的冲突如何处理

    新增行:执行AfterCreateNewEntryRow,这个函数里面对一些数据进行处理(比如字段给上默认值): 复制行:复制行过程中希望这些字段能够得到我修改行信息后的数据,如果不处理,执行到Aft ...

  4. 整体二分初识--POJ2104:K-th Number

    n<=100000个数有m<=5000个询问,每次问区间第k大. 方法一:主席树!…… 方法二:整体二分. 整体二分一次性计算半个值域对一个区间的询问的贡献,然后根据“这半边的贡献在某个询 ...

  5. 解决json_encode中文乱码

    在使用json_encode之前把字符用函数urlencode()处理一下,然后再json_encode,输出结果的时候在用函数urldecode()转回来

  6. UVA 10564_ Paths through the Hourglass

    题意: 由0-9的数字组成一个形如沙漏的图形,要求从第一行开始沿左下或者右下到达最后一行,问有多少种不同的路径,使最后路径上的整数之和为给定的某个数. 分析: 简单计数dp,从最后一行开始,设dp[i ...

  7. mvn打包源码的方法:maven-source-plugin

    maven-javadoc-plugin可以打包 dubbo-demo-provider-2.6.1-javadoc.jar maven-jar-plugin 打包插件 dubbo-demo-prov ...

  8. 手动加入SSH支持、使用c3p0

    之前做的笔记,如今整理一下.大家有耐心的跟着做就能成功: SSH(struts2.spring.hibernate) *  struts2      *  充当mvc的角色 *  hibernate ...

  9. 理解C语言中指针的声明以及复杂声明的语法

    昨天刚把<C程序设计语言>中"指针与数组"章节读完,最终把心中的疑惑彻底解开了.如今记录下我对指针声明的理解.顺便说下怎样在C语言中创建复杂声明以及读懂复杂声明. 本文 ...

  10. openstack (1)----- NTP 时间同步服务

    一.标准时间 1.地球分为东西十二个区域,共计24个时区 2.格林威治作为全球标准时间即(GMT时间),东时区以格林威治时区进行加,而西时区则进行减 3.地球的轨道并非正圆,在加上自传速度逐年递减,因 ...