作者:吱韩菌
开发工具:Visual Studio 2015
撰写时间:2019-7-16
下面要介绍的是数据回填中常用的三种回填方式,文本回填、下拉框回填、输入框回填。
首先介绍第一种回填方式:文本回填。
文本回填就是将数据库中已有的数据通过调用回填在文本中,下面演示的是将当前登录的用户信息回填,控制器部分的代码如下:
var Usernber = Session[“UserNumber”].ToString();//获取当前登录账号信息
UserInformationCK information =
(from tbinfor in myModel.S_UserInformation
join tbUser in myModel.S_User on tbinfor.UserID equals tbUser.UserID
where tbinfor.UserID == tbUser.UserID && tbUser.UserNumber == Usernber
select new UserInformationCK
{
UserID = tbUser.UserID,
UserInformationID = tbinfor.UserInformationID,
UserNumber = tbUser.UserNumber,
Name = tbinfor.Name,
ElinglistName = tbinfor.ElinglistName,
Birthday = tbinfor.Birthday,
Sex = tbinfor.Sex
}).Single();
ViewBag.number = information.UserNumber;//传递查询出的数据给页面
ViewBag.name = information.Name;
ViewBag.Ename = information.ElinglistName;
ViewBag.birthday = information.Birthday;
ViewBag.sex = information.Sex;
页面部分的代码例如:
使用文本回填需要注意的是给ViewBag赋的值只能在当前页面的控制器中调用,否则获取不到数据。
要介绍的第二种是下拉框回填,下拉框回填就是将数据库中已有的数据、并且对应下拉框,才能将其回填,这里我用的是数据类型表,通过ID回填数据。控制器部分做的是查询出当前登录用户的所有信息,这里我主要用到的两条下拉框数据是SchoolingTypeID和OccupationTyoeID(学历ID和职业ID),然后通过ID获取到类型表所对应的数据将其回填至下拉框,控制器部分代码如下:
var Usernber = Session[“UserNumber”].ToString();//获取当前账号
var BasicFrom = (from tbInfor in myModel.S_UserInformation
join tbuser in myModel.S_User on tbInfor.UserID equals tbuser.UserID
where tbuser.UserNumber == Usernber
select new
{
UserID = tbuser.UserID,
UserInformationID = tbInfor.UserInformationID,
SchoolingTypeID = tbInfor.SchoolingTypeID,//学历ID
OccupationTyoeID = tbInfor.OccupationTyoeID,//职业ID
Position = tbInfor.Position,//个人职务
Workheet = tbInfor.Workheet,//工作单位
}).Single();
return Json(BasicFrom, JsonRequestBehavior.AllowGet);
页面部分代码需要放在加载事件里,因为回填是进入页面的同时执行回填的
$.post("/MySouthern/Southern/NewsFrom", function (data) {
cFlight("#Schooling", “/MySouthern/Southern/Schooling”, data.SchoolingTypeID);
cFlight("#Occupation", “/MySouthern/Southern/OccupTyoe”, data.OccupationTyoeID);
loadDatatoForm(“basfrom”, data);
layer.close(layerIndex);//关闭加载层
});
cFlight是我封装的一个下拉框方法,在它后面拼接data.SchoolingTypeID,意思是将控制器传递过来的学历类型ID回填下拉框,如果没有返回数据,就只是一般普通的下拉框。
最后介绍的是input输入框回填,输入框回填可以跟文本回填一样的写法,也可以通过提交表单的方式回填。loadDatatoForm(“basfrom”, data); loadDatatoForm也是封装好的方法,basfrom是表单ID,原理也是通过控制器传递的data参数进行回填。