下拉框数据绑定以及输入查询
开发工具与关键技术:Visual Studio
作者:吴新洋
撰写时间:2019年04月16日
1.在视图界面创建下拉框数据绑定以及输入查询 的HTML 代码:
2.使用 juqery 绑定
2-1 学院下拉框的数据绑定:
createSelect(“searchAcademeID”, “selectAcademe”);
注释searchAcademeID:这个是获取select标签的id。
注释selectAcademe:这个是请求控制器方法(URL)。
2-2学院下拉框的改变触发,年级下拉框的绑定:
$("#searchAcademeID").change (function () {
//声明变量获取选中的学院ID
var academeId = $("#searchAcademeID").val();
// ?AcademeID=" + academeId :作为前提条件 数据库的学院ID要与获取的学院ID
相等,通过年级ID绑定年级下拉框。selectGrade:返回到控制器的方法
createSelect(“searchGradeID”, “selectGrade?AcademeID=” + academeId);
//清空班级下拉框:获取到班级在使用empty清除
$("#searchClassID").empty();
})
AcademeID:为数据库的学院ID 。academeId:为获取选中学院ID声明
2-3 年级下拉框数据改变,触发班级下拉框数据绑定
$("#searchGradeID").change(function () {
声明变量获取选中的学院与年级
var academeId = $("#searchAcademeID").val();
var gradeId = $("#searchGradeID").val();
//?AcademeID=" + academeId +"&GradeID=" + gradeId:作为前提条件 数据库的学院ID要与获取的学院ID 并且数据库的年级ID要与获取的年级ID相等,
通过班级ID绑定班级下拉框。selectGrade:返回到控制器的方法
createSelect(“searchClassID”, “selectClass?AcademeID=”
-
academeI"&GradeID=" + gradeId);
}
/// 学院下拉框数据查询public ActionResult selectAcademe()
{
//查询数据
List listAcademe =(from tbAcademe in myModel.SYS_Academe
select new SelectVo
{
id=tbAcademe.AcademeID,
text=tbAcademe.AcademeName
}).ToList();
//用id来接收所有查询的学院ID
//用text来接收所有查询的学院名称
ToList():返回一个对象列表
创建一个实体类selectvo:
listAcademe = Common.Tools.SetSelectJson(listAcademe);
创建Tools的作用是让 selectVo 中的id=0, text=”----请选择------”。
如果没有listAcademe = Common.Tools.SetSelectJson(listAcademe);那么我们下拉框就会默认绑定第一条数据,这样我们后面通过学生编号以及学生姓名就不能直接查询,就必须知道
该学生所在的学院。
如图:
return Json(listAcademe, JsonRequestBehavior.AllowGet);
返回listAcademe值
}
/// 年级下拉框数据查询
public ActionResult selectGrade (int AcademeID)
{
List listGrade = (from tbGrade in myModel.SYS_Grade
where tbGrade.AcademeID == AcademeID
select new SelectVo
{
id = tbGrade.GradeID,
text = tbGrade.GradeName
}).ToList();
//拼接选择项
listGrade = Common.Tools.SetSelectJson(listGrade);
return Json(listGrade, JsonRequestBehavior.AllowGet);
}
/// 班级下拉框数据查询
public ActionResult selectClass(int AcademeID, int GradeID)
{
List listClass = (from tbClass in myModel.SYS_Class
where tbClass.AcademeID == AcademeID &&
tbClass.GradeID == GradeID
select new SelectVo
{
id = tbClass.ClassID,
text = tbClass.ClassName
}).ToList();
//拼接选择项
listClass = Common.Tools.SetSelectJson(listClass);
return Json(listClass, JsonRequestBehavior.AllowGet);
}