开发工具与关键技术:VS , ASP.NET.MVC;
作者:吴维杰
撰写时间:2019.06.07
页面部分:
首先获取新增模态框里输入框填输的数据.
代码如下.
//获取页面数据
var circuitNumber = $("#formInsertCircuit [name='CircuitnNumber']").val();
var circuitnName = $("#formInsertCircuit [name='CircuitnName']").val();
var mileage = $("#formInsertCircuit [name='Mileage']").val();
var direction = $("#formInsertCircuit [name='Direction']").val();
var subordinateRegion = $("#formInsertCircuit [name='SubordinateRegion']").val();
var startingTableName = $("#formInsertCircuit [name='StartingTableName']").val();
var sortableName = $("#formInsertCircuit [name='SortableName']").val();
var stationList = $("#formInsertCircuit [name='StationListName']").val();
var stop = $("#formInsertCircuit [name='StopOpen']").val();
var remark = $("#formInsertCircuit [name='Remark']").val();
数据如下图.
控制器部分:
数据库中,表的连接为: 起点表
线路表à 终点表
路段表à
站点表
看到表的连接后,应该从最低层的表开始新增(因为表的连接是靠主键和外键连接起来的,
你想新增一条数据,就比如新增一条起点站表的数据, myModels.D_StartingTable.Add(startingTable);
就只能新增在起点站表里,而因为主键和外键连接起来的线路表中的起点站ID不会得到新增,所以这里首先要从低层级的表开始新增,然后获取新增数据的ID,让它等于与站点表相连的线路表中的起点站ID.)
代码如下:
myModels.D_Sortable.Add(sortable);
if (myModels.SaveChanges() > 0)
{
myModels.D_StartingTable.Add(startingTable);
if (myModels.SaveChanges() > 0)
{
//获取新增的起点ID
var startingTableId = startingTable.StartingTableID;
//让起点表新增的起点ID等于线路表新增的起点ID
circuit.StartingTableID = startingTableId;
//获取新增的终点ID
var sortableId = sortable.SortableID;
//让终点表新增的终点ID等于线路表新增的终点ID
circuit.SortableID = sortableId;
myModels.D_Circuit.Add(circuit);
if (myModels.SaveChanges() > 0)
{
myModels.D_StationSite.Add(stationSite);
if (myModels.SaveChanges() > 0)
{
//获取新增的站点ID
var stationSiteId = stationSite.StationSiteID;
//让站点表新增的站点ID等于路段表新增的站点ID
roadSection.StationSiteID = stationSiteId;
//获取新增的线路ID
var circuitId = circuit.CircuitID;
//让路段表表新增的线路ID等于线路表新增的线路ID
roadSection.CircuitID = circuitId;
myModels.D_RoadSection.Add(roadSection);
if (myModels.SaveChanges() > 0)
{
returnJson.State = true;
returnJson.Text = "新增成功!"; }
else
{returnJson.State = false;
returnJson.Text = "新增失败!";
}
}
else
{
returnJson.State = false;
returnJson.Text = "参数异常!";
}
}
else
{
returnJson.State = false;
returnJson.Text = "参数异常!";
}
}
else
{
returnJson.State = false;
returnJson.Text = "参数异常!";
}
}
else
{
returnJson.State = false;
returnJson.Text = "参数异常!";
}
新增成功的效果图: