<%@ WebHandler Language="C#" Class="GetFile1" %> using System; using System.Collections.Generic; using System.Web; using System.Data; using System.IO; using System.Web.SessionState; using eMIS; public class GetFile1 : IHttpHandler, IRequiresSessionState { public void ProcessRequest (HttpContext context) { if (context.Session["userid"] == null) { context.Response.Write("会话丢失!"); context.Response.End(); } InstanceManager instrance = new InstanceManager(context); string objectId = context.Request.QueryString["oid"].ToString(); string[] a = objectId.Split(','); string selectType = (context.Request.QueryString["st"]==null?"0":context.Request.QueryString["st"].ToString());//1多选,0单选 string vr = (context.Request.QueryString["cpara"] == null ? "" : context.Request.QueryString["cpara"].ToString()); vr = DataManager.UrlDecode(vr); if (selectType == "1") vr = "objlist:" + objectId; string c = context.Request.QueryString["c"]==null ? "" : context.Request.QueryString["c"].ToString(); if (c == "") { c = context.Request.QueryString["cond"] == null ? "" : context.Request.QueryString["cond"].ToString(); if (c != "") { c = DataManager.UrlDecode(c); //context.Response.Write(c); //context.Response.End(); } } objectId = (context.Request.QueryString["dftid"]==null ? a[0] : context.Request.QueryString["dftid"].ToString()); BusinessObjectManager bo = new BusinessObjectManager(instrance, objectId); string menuId = bo.MenuID; instrance.MenuID = menuId; instrance.InitState(); HttpCookie cookie = new HttpCookie("pk"+menuId); cookie.Path = ""; cookie.Expires = DateTime.Today.AddYears(-1); context.Response.Cookies.Set(cookie); if (vr != "") { instrance.SetStateValue("vr", vr); c=instrance.Tag.ReplaceExpression(c,""); } //2015年1月16日注释,解决flownode丢失问题,20日发现有的从表datashow查询不到记录 instrance.PopedomUserID = instrance.CurrentUserID; instrance.SetStateValue("js", "addObjectSelectButtons" + selectType); if (c != "") c = instrance.Tag.ReplaceExpression(c, ""); else { c = instrance.GetMenuCondition(); c = instrance.Tag.ReplaceExpression(c, ""); } instrance.DefaultCondition = c; instrance.SqlOrder = instrance.Program.Properties["MRPX"].ToString(); string treeJson = instrance.Program.Properties["TREE"].ToString(); MenuInfo menu = new MenuInfo(instrance.SystemDataManager, menuId); instrance.ButtonGroupID = menu.ButtonGroupID; Random ra=new Random(); string url; if(treeJson=="") url = "Data_Show.ashx?proid=" + menuId + "&bgid="+ menu.ButtonGroupID +"&r=" + ra.Next(); else url = "TreeListFrame.aspx?pid=" + menuId + "&bgid=" + menu.ButtonGroupID + "&tjson=" + DataManager.Encrypt(treeJson) + "&r=" + ra.Next(); //context.Response.Write(url); context.Response.Redirect(url); } public bool IsReusable { get { return false; } } }