开发工具与关键技术:VS , ASP.NET.MVC;
作者:吴维杰
撰写时间:2019.05.12
页面部分:
下拉框数据的绑定,在这个项目中,因为学院à年级à专业à班级的关系和给定了的数据,在这里就会使用到下拉框数据的绑定.
代码如下:
学院下拉框数据绑定
createSelect("IsAcademe", "selectAcademe");
清空专业、年级、班级下拉框
$("#IsSpecialty").empty();
$("#IsGrade").empty();
$("#IsClass").empty();
首先是学院下拉框数据的绑定,然后清空专业、年级、班级下拉框,
清空专业、年级、班级下拉框,的数据是为了防止再次选择学院下拉框数据的时候,数据还残留着上一次的数据.
学院下拉框数据改变,触发专业&年级下拉框数据绑定
$("#IsAcademe").change(function () {
获取学院ID
var academeId = $("#IsAcademe").val();
年级下拉框数据绑定
createSelect("IsGrade", "selectGrade?AcademeID=" + academeId);
专业下拉框数据绑定
createSelect("IsSpecialty", "selectSpecialty?AcademeID=" + academeId);
清空班级下拉框
$("#IsClass").empty();
});
接着让学院下拉框数据的改变去触发专业和年级下拉框数据的绑定.
首先定义一个变量academeId去获取学院的ID,然后在年级和专业下拉框绑定的时候拼接上学院的ID.这样就可以实现选择学院后,就只会显示出在这个学院下的专业、年级、班级.其它的数据绑定与上面代码类似……
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------
控制器部分:
代码如下:
public ActionResult selectAcademe()
{
查询数据
List<SelectVo> listAcademe = (from tbAcademe in myModels.SYS_Academe
select new SelectVo {
id = tbAcademe.AcademeID,
text = tbAcademe.AcademeName
}).ToList();
拼接“--请选择--”项
listAcademe = Common.Tools.SetSelectJson(listAcademe);
return Json(listAcademe, JsonRequestBehavior.AllowGet);
}
首先查询数据, select new SelectVo查询这个新的实体对象,让id = tbAcademe.AcademeID, text = tbAcademe.AcademeName,
然后拼接选择项,这里引用了一个封装的方法.
创建列表对象
List<SelectVo> list = new List<SelectVo>();
创建实体对象
SelectVo selectVo = new SelectVo
{
id = 0,
text = "---请选择---"
};
将实体对象添加到对象列表
list.Add(selectVo);
将数据集添加到对象列表
list.AddRange(select);
return list;
拼接选择项这个方法,让没有选择任何数据的的情况下,id=0, text = "---请选择---".