asp.net core mvc 三、增删改数据【干货教程】
三 数据的增删改查
实现思路 在Controller里面增加 两个页面分别是 List 和 Edit
对应的增加两个试图
视图 中的核心代码
<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=" 编 辑" /> <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));
}