///// <summary> ///// 返回Datatable 及 TotalCount. ///// 兼容Json 和 XML ///// </summary> public static void WrapResponse(bool success, DataTable dt, int totalCount, string message) { if (GetResponseDataType() == ResponseDataType.JSON) { AJAXHelper.WrapJsonResponse4DataTable(success, dt, totalCount, message); } else if (GetResponseDataType() == ResponseDataType.XML) { AJAXHelper.WrapXMLResponse4DataTable(success, dt, totalCount, message); } else { } }
/// <summary> /// 返回文本 /// _ResponseDataType: 'json' or 'xml', 设置返回数据格式。 /// </summary> public static void WrapResponse(bool success, string text, string message) { if (GetResponseDataType() == ResponseDataType.JSON) { AJAXHelper.WrapJsonResponse(success, text, message); } else if (GetResponseDataType() == ResponseDataType.XML) { AJAXHelper.WrapXMLResponse(success, text, message); } else { } }
///// <summary> ///// 将DataTable以XML格式包装 ///// </summary> public static void WrapXMLResponse4DataTable(bool success, DataTable dt, int totalCount, string message) { //(1)包装Datatable与TotalCount XmlDocument doc = new XmlDocument(); //doc.AppendChild(doc.CreateXmlDeclaration("1.0", "utf-8", null));//"utf-8" XmlElement root = doc.CreateElement("root"); XmlElement totalCountEle = doc.CreateElement(AJAXHelper.TotalCountKeyName); totalCountEle.InnerXml = totalCount.ToString(); root.AppendChild(totalCountEle as XmlNode); XmlElement dataEle = doc.CreateElement(AJAXHelper.DataKeyName); dataEle.InnerXml = Converter.DataTable2XML(dt); root.AppendChild(dataEle as XmlNode); //(2) AJAXHelper.WrapXMLResponse(success, root.InnerXml, message); }
///// <summary> ///// 将DataTable(某些列)以Json格式包装 ///// </summary> public static void WrapJsonResponse4DataTable(bool success, DataTable dt, List <string> colIds, int totalCount, string message) { //(1)包装Datatable与TotalCount StringBuilder sbJson = new StringBuilder(); StringWriter swJson = new StringWriter(sbJson); using (JsonWriter jsonWriter = new JsonTextWriter(swJson)) { jsonWriter.Formatting = Newtonsoft.Json.Formatting.Indented; jsonWriter.WriteStartObject(); jsonWriter.WritePropertyName(AJAXHelper.TotalCountKeyName); jsonWriter.WriteValue(totalCount); jsonWriter.WritePropertyName(AJAXHelper.DataKeyName); jsonWriter.WriteValue(Converter.DataTable2Json(dt, colIds)); jsonWriter.WriteEndObject(); } swJson.Flush();//清空缓存,并将缓冲的数据写出到基础设备 //(2) AJAXHelper.WrapJsonResponse(success, sbJson.ToString(), message); }