protected string getCompleteWorkList() { UserLogInfo userLoginInfo = this.LogInfo; TSysUserVo user = userLoginInfo.UserInfo; IList <string[]> queryParams = new List <string[]>(); if (!string.IsNullOrEmpty(Request["flowName"])) { queryParams.Add(new string[3] { "FlowName", Request["flowName"], "like" }); } if (!string.IsNullOrEmpty(Request["endRDTStart"])) { queryParams.Add(new string[3] { "FlowEnderRDT", Request["endRDTStart"], "ge" }); } if (!string.IsNullOrEmpty(Request["endRDTEnd"])) { queryParams.Add(new string[3] { "FlowEnderRDT", Request["endRDTEnd"], "le" }); } int?page = null; int?pageSize = null; if (!string.IsNullOrEmpty(Request["page"])) { page = Convert.ToInt32(Request["page"]); } if (!string.IsNullOrEmpty(Request["pagesize"])) { pageSize = Convert.ToInt32(Request["pagesize"]); } string info = CCFlowFacade.GetCompleateWork(user.USER_NAME, queryParams.ToArray(), page, pageSize); XmlDocument document = new XmlDocument(); document.LoadXml(info); XmlNodeList rows = document.SelectNodes("/root/record/row"); XmlNode nodeCount = document.SelectSingleNode("/root/count"); string total = nodeCount.InnerText; IList <Dictionary <string, string> > list = new List <Dictionary <string, string> >(); for (int i = 0; i < rows.Count; i++) { XmlNode node = rows.Item(i); XmlNodeList children = node.ChildNodes; Dictionary <string, string> dic = new Dictionary <string, string>(); for (int j = 0; j < children.Count; j++) { XmlNode element = children[j]; dic.Add(element.Name, Server.UrlDecode(element.InnerText)); } list.Add(dic); } JavaScriptSerializer serializer = new JavaScriptSerializer(); if (page == null || pageSize == null) { return(serializer.Serialize(new { Rows = list })); } else { return(serializer.Serialize(new { Total = total, Rows = list })); } }