多表修改回填

我们在修改数据回填的时候,首先就是要把数据查询出来,不管是多表还是单表都是万变不离其中,当掌握了原理,基本上都没问题了,这次写的是多表回填,如图
在这里插入图片描述
点击修改第一条数据,弹出模态框,显示数据回填,如图
在这里插入图片描述
回填的数据和原先的数据一模一样,里面的学院、专业、年级、班级,都是有关联的下拉框,只要绑定下拉框就行了,并不难,也就是同一个原理,把数据查询出来便好
首先在控制器这边把方法写好,代码如下
根据studentID查询学生图片:

public ActionResult GetStudentImage(int studentID)  {  
 try { 
       var studentImg =(from tbStudent in myModels.PW_Student
                        where tbStudent.studentID== studentID
                        select new {
                          tbStudent.StudentPicture
                                 }).Single();
                byte[] stuImg = studentImg.StudentPicture;
                return File(stuImg, @"image/jpg");
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
                return Json("failed", JsonRequestBehavior.AllowGet);
            }
        }

根据studentID查询学生信息

 public ActionResult SelectStudentById(int StudentID)
  {
	  try
	  {//根据学生ID筛选学生信息
                 Student student = (from tbStudent in myModels.PW_Student
		  join tbUser in myModels.PW_User on tbStudent.UserID equals tbUser.UserID
		   where tbStudent.studentID
                          select new Student
		    {                                  
		studentID = tbStudent.studentID,
		UserID = tbStudent.UserID,
	        AcademeID = tbStudent.AcademeID,
	        SpecialtyID = tbStudent.SpecialtyID,
	        GradeID = tbStudent.GradeID,
		ClassID= tbStudent.ClassID,                      
		StudentIDNum = tbStudent.StudentIDNum,                            
		StudentNumber = tbStudent.StudentNumber,                            
		UniformAuthenticationCode = tbUser.UniformAuthenticationCode,                             
		StudentName = tbStudent.StudentName,                               
		StudentSex = tbStudent.StudentSex,                             
		UserNuber = tbUser.UserNuber,
	        Password= tbUser.Password
	             }).Single();
	 return Json(student, JsonRequestBehavior.AllowGet);
		    }
		 catch (Exception e)
		    {
                      Console.WriteLine(e);
                      return Json("failed", JsonRequestBehavior.AllowGet);
		   }
	     }				

再到视图查询学院信息(下拉框)

public ActionResult SelectAcademe()
        {
      List<Select> listAcademe = (from tbAcademe in myModels.SYS_Academe
          select new Select
             {
			id = tbAcademe.AcademeID,
			text = tbAcademe.AcademeName
             }).ToList();
            return Json(listAcademe, JsonRequestBehavior.AllowGet);
        }

查询对应学院下的年级信息(下拉框)

public ActionResult SelectGrade(int AcademeID)
  {
     List<Select> listGrade = (from tbGrade in myModels.SYS_Grade 
                 where tbGrade.AcademeID== AcademeID
          select new Select
               {
			id =tbGrade.GradeID,
			text= tbGrade.GradeName                              
			}).ToList();
	 return Json(listGrade, JsonRequestBehavior.AllowGet);
        }

查询对应学院下的专业信息(下拉框)–考生录入

public ActionResult SelectSpecialty(int AcademeID)
{
    var listSpecialty = (from tbSpecialty in myModels.SYS_Specialty
where tbSpecialty.AcademeID == AcademeID//获取选中学院
      select new Select
       {  
		id = tbSpecialty.SpecialtyID,
		text =tbSpecialty.SpecialtyName
		}).ToList();
	  return Json(listSpecialty, JsonRequestBehavior.AllowGet);
  }

查询对应年级和专业下的班级信息(下拉框),班级有可能是有年级决定、或专业决定

public ActionResult SelectClass(int GradeID, int specialtyId) 
      {
   List<Select> listClass = new List<Select>();
   if (specialtyId == 0) {
     listClass = (from tbClass in myModels.SYS_Class
     where tbClass.GradeID ==GradeID
           select new Select
           {
            id =tbClass.ClassID,
            text =tbClass.ClassName
  }).ToList();
 }
 else if (GradeID == 0){
	listClass = (from tbClass in myModels.SYS_Class
	where tbClass.SpecialtyID== specialtyId
     select new Select {
	id =tbClass.ClassID,
	text =tbClass.ClassName
}).ToList();
}
else
 {
	listClass = (from tbClass in myModels.SYS_Class
	where tbClass.GradeID ==GradeID &&
	tbClass.SpecialtyID == specialtyId
	select new Select{
		id = tbClass.ClassID,
		text =tbClass.ClassName
}).ToList();
}
return Json(listClass, JsonRequestBehavior.AllowGet);
}

这边写代码绑定数据,传输数据:

function
openUpdate(studentID) {
重置表单
$("#formUpdateExaminee").resetForm();
清空图片
$("#UsImgStudentPicture").attr("src", "");
学院 下拉菜单数据绑定触发
专业和年级 下拉菜单数据的绑定
$("#UsAcademe").change(function () {
var academeId = $("#UsAcademe").val();
专业下拉框数据绑定
createSelect("UsSpecialty", "/ExaminationManagement/SetExaminee/SelectSpecialty?AcademeID=" + academeId)
年级下拉框数据绑定
createSelect("UsGrade", "/ExaminationManagement/SetExaminee/SelectGrade?AcademeID=" + academeId);
清空班级数据
$("#UsClass").empty();
            });
年级 & 专业下拉框数据绑定触发班级下拉菜单数据的绑定
 $("#UsSpecialty").change(function () {
 var specialtyId = $("#UsSpecialty").val();
 var gradeId = $("#UsGrade").val();
     createSelect("UsClass", "/ExaminationManagement/SetExaminee/SelectClass?GradeID=" + gradeId + "&specialtyId=" + specialtyId);
            });
 年级
$("#UsGrade").change(function () {
var specialtyId = $("#UsSpecialty").val();
var gradeId = $("#UsGrade").val();
createSelect("UsClass", "/ExaminationManagement/SetExaminee/SelectClass?GradeID=" + gradeId + "&specialtyId=" + specialtyId);
  });           
回填图片信息                                                                                        
 $("#UsImgStudentPicture").attr("src", "/ExaminationManagement/SetExaminee/GetStudentImage?studentID=" + studentID);
数据回填
$.post("SelectStudentById", { StudentID:
studentID }, function (data) {
学院下拉框数据绑定&数据回填
createSelect("UsAcademe", "/ExaminationManagement/SetExaminee/SelectAcademe", data.AcademeID);
专业下拉框数据绑定&数据回填
createSelect("UsSpecialty", "/ExaminationManagement/SetExaminee/SelectSpecialty?AcademeID=" + data.AcademeID,
data.SpecialtyID);
年级下拉框数据绑定&数据回填
createSelect("UsGrade", "/ExaminationManagement/SetExaminee/SelectGrade?AcademeID=" + data.AcademeID,
data.GradeID);
班级下拉框数据绑定&数据回填
createSelect("UsClass", "/ExaminationManagement/SetExaminee/SelectClass?GradeID=" + data.GradeID + "&specialtyId=" + data.SpecialtyID,
data.ClassID);
其他表单信息的数据回填
loadDatatoForm("formUpdateExaminee", data);
 弹出模态框
$("#modUpdateExaminee").modal("show");
      }) 
 }

就这样一个多表数据回填便完成了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值