public void ProcessRequest(HttpContext context) { //清空之前数据 context.Response.Clear(); //检测是否含有session if (context.Session.Count < 5) { //跳转 context.Response.Redirect("/Account/Login", true); //停止加载后续内容 context.Response.End(); //直接返回 return; } //执行基类的方法 if (!base.CheckIsLogin(context)) { return; } //用户传入的参数 string prevProcName = context.Request["pproc"]; //检测参数 if (prevProcName == null || prevProcName.Trim().Length <= 0) { prevProcName = "%"; } //当前使用的查询表的类型 var parTable = ParameterTable.None; //用户传入的参数 string tabType = context.Request["ttype"]; //转换后的结果 int iType; //检测参数 if (tabType == null || tabType.Trim().Length <= 0 || !int.TryParse(tabType, out iType) || iType < 1 || iType > 4 ) { return; } //设置tab的值得 parTable = (ParameterTable)iType; //当前使用的查询参数类型 var parField = ParameterField.None; //用户传入的参数 string lotId = context.Request["lid"]; string productNum = string.Empty; //检测批量卡号 if (lotId != null && lotId.Length > 0) { //查询字段类型为生产编号 parField = ParameterField.LotId; //去掉空格 lotId = lotId.Trim(); //检测批量卡号重新设置参数值 if (!lotId.Contains("-")) { //添加减号 lotId = "-" + lotId; } //使用模糊查询 lotId = "%" + lotId + "%"; } else { //用户传入的生产编号 productNum = context.Request["pnum"]; if (productNum != null && productNum.Length > 0) { //查询字段类型为生产编号 parField = ParameterField.ProductNum; //设置参数值 productNum = "%" + productNum.Trim() + "%"; } } //当前未使用特定的三种字段类型之一进行查询则不输出值直接退出 if (parField == ParameterField.None) { return; } //待输出到浏览器的数据 string strResult = string.Empty; //将查询到的结果保存到泛型变量中 var l = new List<LotCardLiItem>(); //检测查询表的类型 switch (parTable) { //在待入库记录中查询 case ParameterTable.Wait: //数据适配器 using (var da = new t_complete_lot_card_waitTableAdapter()) { //获取数据使用的表 DataSetCompleteWait.t_complete_lot_card_waitDataTable tab; //通过批量卡号查询 if (parField == ParameterField.LotId) { //取得数据 tab = da.GetDataLikePrevProcAndLotId(prevProcName, lotId); } //通过生产编号查询 else { //取得数据 tab = da.GetDataLikePrevProcAndProductNum(prevProcName, productNum); } //获取单据数据 AddLotCardListItem(tab, ref l); } //退出switch break; case ParameterTable.Balance: //数据适配器 using (var da = new t_mantissa_lot_card_balanceTableAdapter()) { //获取数据使用的表 DataSetMantissaBalance.t_mantissa_lot_card_balanceDataTable tab; //通过批量卡号查询 if (parField == ParameterField.LotId) { //取得数据 tab = da.GetDataLikePrevProcAndLotId(prevProcName, lotId); } //通过生产编号查询 else { //取得数据 tab = da.GetDataLikePrevProcAndProductNum(prevProcName, productNum); } //获取单据数据 AddLotCardListItem(tab, ref l); } //退出switch break; case ParameterTable.Lose: //数据适配器 using (var da = new v_mantissa_lot_card_loseTableAdapter()) { //获取数据使用的表 DataSetMantissaLose.v_mantissa_lot_card_loseDataTable tab; //通过批量卡号查询 if (parField == ParameterField.LotId) { //取得数据 tab = da.GetDataLikePrevProcAndLotId(prevProcName, lotId); } //通过生产编号查询 else { //取得数据 tab = da.GetDataLikePrevProcAndProductNum(prevProcName, productNum); } //获取单据数据 AddLotCardListItem(tab, ref l); } //退出switch break; } //如果在清单中查询到数据 if (l.Count > 0) { //将泛型变量各项目放入数组 var itms = new LotCardLiItem[l.Count]; //复制泛型变量的内容到数组 l.CopyTo(itms); //循环重新设置单只数 foreach (var itm in itms) { //将实例加入li strResult += itm.ToString(); } } //加入ul头尾 strResult = "<ul>\n" + strResult + "</ul>\n"; //写入数据 context.Response.Write(strResult); }