欢迎来到天天文库
浏览记录
ID:12494205
大小:341.00 KB
页数:9页
时间:2018-07-17
《mvc_3.0_实例之表格中数据的筛选_(17)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、我要学ASP.NETMVC3.0(十七):MVC3.0实例之表格中数据的筛选概述通过上节的学习,我们知道如何在MVC3.0应用程序中给简单表格加入排序和分页功能,但是作为开发人员,这些还是不能完美的展现我们的表格的优越性。有时候我们还需要对数据进行筛选处理,然后使用表格进行显示。那么在MVC3.0中做一个筛选功能又怎么做呢?这节我们就使用MVC3.0来筛选数据然后使用表格显示筛选结果。问题分析对于我们的数据集来说,我们要求可以通过输入程序编号、选择成员家族(狼和羊)或者通过其他一些标识型字段来如:婚姻状态等方式来筛选数据。这样一来使用的参数就显而易见了:①EmployeeNO查
2、询编号:可以通过输入编号来筛选数据。②DepartmentID家族编号:可以通过选择家族的列表来筛选数据。③IsMarital婚姻状态:可以通过选择是否结婚来筛选数据。修改辅助类修改EmployeeGridModel辅助类加入一下代码.....................................///9///查询条件:查询编号///publicstringEmployeeNO{get;set;}//////查询条件:是否婚配///publicboolIsMarital{get;set;}//
3、////查询条件:种族编号///用于绑定DepartmentList///publicint?DepartmentID{get;set;}//////绑定数据库中的种族集合///publicIEnumerableDepartmentList{get;set;} 这些属性值,只是作为页面传递和绑定使用的。创建Action在EmployeeController添加名为Filterable的方法该方法包含三个参数employeeNO、departmentID和isMarita
4、l代码如下publicActionResultFilterable(int?employeeNO,int?departmentID,bool?isMarital=null){varmodel=newEmployeeGridModel(){DepartmentID=departmentID,EmployeeNO=employeeNO.ToString(),IsMarital=isMarital.HasValue?isMarital.Value:false,DepartmentList=this.DataContext.Department.OrderBy(o=>o.DepartN
5、ame)9.Select(o=>newSelectListItem{Text=o.DepartName,Value=o.DepartmentID.ToString()})};varfilteredResults=this.DataContext.Employee.AsQueryable();if(employeeNO!=null)filteredResults=filteredResults.Where(o=>o.EmployeeNO==employeeNO.ToString());if(departmentID>0)filteredResults=filteredResult
6、s.Where(o=>o.DepartmentID==departmentID.ToString());if(isMarital!=null&&isMarital.Value==true)filteredResults=filteredResults.Where(o=>o.Marital=="1");model.Employees=filteredResults;returnView(model);} 首先我们初始化一个辅助类EmployeeGridModel,读取并筛选了数据库中数据之后,为相关属性设置默认值,返回一个辅助类的Employeelist注意:此处我们的Orde
7、rBy可以参照上上篇中的具体操作,这里就不多赘述。创建视图View为Filterable的Action添加一个视图View,选择强类型为EmployeeGridModel9修改代码为@modelMVC3.Grid.Models.EmployeeGridModel@{ViewBag.Title="Filterable";Layout="~/Views/Shared/_Layout.cshtml";}
此文档下载收益归作者所有