[C#] 常用工具类——直接在浏览器输出数据
/// <summary> /// <para> </para> /// 常用工具类——直接在浏览器输出数据 /// <para> -------------------------------------------------------------</para> /// <para> DumpDataTable:接在浏览器输出数据DataTable</para> /// <para> DumpListItemILIST:直接在浏览器输出数据ILIST<ListItem></para> /// <para> DumpDataTableILIST:直接在浏览器输出数据DataTableILIST</para> /// <para> DumpIntArrILIST:直接在浏览器输出数据整型数组ILIST<int[]></para> /// <para> DumpStrArrILIST:直接在浏览器输出数据字符串数组的ILIST<string[]></para> /// <para> DumpDataSet:直接在浏览器输出数据DataSet对象</para> /// <para> DumpObjectArr2:直接在浏览器中输出二维数组</para> /// </summary> using System; using System.Collections; using System.Collections.Generic; using System.Text; using System.Web; using System.Web.UI.WebControls; using System.Resources; using System.Data; using System.Data.SqlClient; using System.Diagnostics; namespace Utils { /// <summary> /// <para> </para> /// 常用工具类——直接在浏览器输出数据 /// <para> -------------------------------------------------------------</para> /// <para> DumpDataTable:接在浏览器输出数据DataTable</para> /// <para> DumpListItemILIST:直接在浏览器输出数据ILIST<ListItem></para> /// <para> DumpDataTableILIST:直接在浏览器输出数据DataTableILIST</para> /// <para> DumpIntArrILIST:直接在浏览器输出数据整型数组ILIST<int[]></para> /// <para> DumpStrArrILIST:直接在浏览器输出数据字符串数组的ILIST<string[]></para> /// <para> DumpDataSet:直接在浏览器输出数据DataSet对象</para> /// <para> DumpObjectArr2:直接在浏览器中输出二维数组</para> /// </summary> public class DumpHelper { #region 构造方法设置 /// <summary> /// 数据类型颜色 /// </summary> protected static string ColorDataType = "red"; /// <summary> /// 行数颜色 /// </summary> protected static string ColorRowCount = "red"; /// <summary> /// 列数颜色 /// </summary> protected static string ColorColumnsCount = "red"; /// <summary> /// 无数据时颜色 /// </summary> protected static string ColorNoData = "red"; /// <summary> /// 序号颜色 /// </summary> protected static string ColorSerial = "black"; /// <summary> /// 字段名颜色 /// </summary> protected static string ColorFieldName = "blue"; /// <summary> /// 字段类型颜色 /// </summary> protected static string ColorFieldType = "#cc9999"; /// <summary> /// 字段值颜色 /// </summary> protected static string ColorFieldValue = "#9933ff"; /// <summary> /// 最终输出字符串 /// </summary> protected static string DumpStr = string.Empty; /// <summary> /// 输出字符串DIV开始 /// </summary> protected static string DivRef = "<div style='font-size:14px;line-height:20px;margin:5px 0 0 5px;'>"; #endregion #region 直接在浏览器输出数据DataTable /// <summary> /// 直接在浏览器输出数据DataTable /// </summary> /// <param name="Dt">DataTable表格</param> public static void DumpDataTable(DataTable Dt) { if (Dt != null) { int DtRowsCount = Dt.Rows.Count; int DtColumnsCount = Dt.Columns.Count; DumpStr = DivRef + "数据类型:<font color=" + ColorDataType + ">TableDate</font> [ 表名:" + Dt.TableName + " 行数:<font color=" + ColorRowCount + ">" + DtRowsCount + "</font>,列数:<font color=" + ColorColumnsCount + ">" + DtColumnsCount + "</font> ] <hr>"; if (DtRowsCount < 1) DumpStr += " <font color=" + ColorNoData + ">无表格行数据!</font>"; else { for (int i = 0; i < DtRowsCount; i++) { DumpStr += "( Row:<font color=" + ColorSerial + ">" + i + "</font> ) => "; for (int j = 0; j < DtColumnsCount; j++) { string ColumnName = Dt.Columns[j].ColumnName.ToString(); string ColumnType = Dt.Columns[j].DataType.ToString(); DumpStr += " [" + j + "] <font color=" + ColorFieldName + ">" + ColumnName + "</font> ( <font color=" + ColorFieldType + ">" + ColumnType + "</font> ) => \"<font color=" + ColorFieldValue + ">" + Dt.Rows[i][ColumnName].ToString() + "</font>\""; } DumpStr += "<p>"; } } } HttpContext.Current.Response.Write(DumpStr + "</div>"); } #endregion #region 直接在浏览器输出数据ILIST<ListItem> /// <summary> /// 直接在浏览器输出数据ILIST<ListItem> /// </summary> /// <param name="ListItems">ILIST<ListItem>泛型数据</param> public static void DumpListItemILIST(IList<ListItem> ListItems) { if (ListItems != null) { int ListCount = ListItems.Count; DumpStr = DivRef + "数据类型:<font color=" + ColorDataType + ">IList<ListItem></font> [ 项目数:<font color=" + ColorRowCount + ">" + ListCount + "</font> ] <hr>"; if (ListCount < 1) DumpStr += " <font color=" + ColorNoData + ">泛型中无数据!</font>"; else { for (int i = 0; i < ListCount; i++) { DumpStr += "( " + i + " ) => "; string Texts = ListItems[i].Text.ToString(); string Values = ListItems[i].Value.ToString(); DumpStr += " <font color=" + ColorFieldName + ">[ Text ]</font> => \"<font color=" + ColorFieldValue + ">" + Texts + "</font>\""; DumpStr += " <font color=" + ColorFieldName + ">[ Value ]</font> => \"<font color=" + ColorFieldValue + ">" + Values + "</font>\""; } } } HttpContext.Current.Response.Write(DumpStr + "</div>"); } #endregion #region 直接在浏览器输出数据DataTableILIST /// <summary> /// 直接在浏览器输出数据DataTableILIST /// </summary> /// <param name="ListDataTable">ILIST<ListDataTable>泛型数据</param> public static void DumpDataTableILIST(IList<DataTable> ListDataTable) { if (ListDataTable != null) { int ListCount = ListDataTable.Count; DumpStr = DivRef + "数据类型:<font color=" + ColorDataType + ">IList<DataTable></font> [ DataTable数:<font color=" + ColorRowCount + ">" + ListCount + "</font> ] <hr>"; if (ListCount < 1) DumpStr += " <font color=" + ColorNoData + ">泛型中无数据!</font>"; else { for (int i = 0; i < ListCount; i++) { if (i > 0) DumpStr += "<hr>"; DataTable Dt = ListDataTable[i]; int DtRowsCount = Dt.Rows.Count; int DtColumnsCount = Dt.Columns.Count; DumpStr += "( 表序号:" + i + " 表名:" + Dt.TableName + " ) => [ 行数:<font color=" + ColorRowCount + ">" + DtRowsCount + "</font>,列数:<font color=" + ColorColumnsCount + ">" + DtColumnsCount + "</font> ]"; if (DtRowsCount < 1) DumpStr += " <font color=" + ColorNoData + ">表格中无数据!</font><p>"; else { for (int k = 0; k < DtRowsCount; k++) { DumpStr += " ( Row:<font color=" + ColorSerial + ">" + k + "</font> ) => "; for (int j = 0; j < DtRowsCount; j++) { string ColumnName = Dt.Columns[j].ColumnName.ToString(); string ColumnType = Dt.Columns[j].DataType.ToString(); DumpStr += " [" + j + "] <font color=" + ColorFieldName + ">" + ColumnName + "</font> ( <font color=" + ColorFieldType + ">" + ColumnType + "</font> ) => \"<font color=" + ColorFieldValue + ">" + Dt.Rows[k][ColumnName].ToString() + "</font>\""; } DumpStr += "<p>"; } } } } } HttpContext.Current.Response.Write(DumpStr + "</div>"); } #endregion #region 直接在浏览器输出数据整型数组ILIST<int[]> /// <summary> /// 直接在浏览器输出数据整型数组ILIST<int[]> /// </summary> /// <param name="IntList">ILIST<Int[]>泛型数据</param> public static void DumpIntArrILIST(IList<int[]> IntList) { if (IntList != null) { int ListCount = IntList.Count; DumpStr = DivRef + "数据类型:<font color=" + ColorDataType + ">IList<Int[]></font> [ Int[]个数:<font color=" + ColorRowCount + ">" + ListCount + "</font> ] <hr>"; if (ListCount < 1) DumpStr += " <font color=" + ColorNoData + ">泛型中无数据!</font>"; else { for (int i = 0; i < ListCount; i++) { int[] IntArr = IntList[i]; int IntArrCount = IntArr.Length; DumpStr += "( Int[]:<font color=" + ColorSerial + ">" + i + "</font> ) => 数组元素个数:<font color=" + ColorSerial + ">" + IntArrCount + "</font>"; if (IntArrCount < 1) DumpStr += " <font color=" + ColorNoData + ">数组中无数据</font><p>"; else { for (int j = 0; j < IntArrCount; j++) { DumpStr += " [" + j + "] ( <font color=" + ColorFieldType + ">Int</font> ) => \"<font color=" + ColorFieldValue + ">" + IntArr[j].ToString() + "</font>\""; } } } } } HttpContext.Current.Response.Write(DumpStr + "</div>"); } #endregion #region 直接在浏览器输出数据字符串数组的ILIST<string[]> /// <summary> /// 直接在浏览器输出数据字符串数组的ILIST<string[]> /// </summary> /// <param name="StrList">ILIST<String[]>泛型数据</param> public static void DumpStrArrILIST(IList<string[]> StrList) { if (StrList != null) { int ListCount = StrList.Count; DumpStr = DivRef + "数据类型:<font color=" + ColorDataType + ">IList<String[]></font> [ String[]个数:<font color=" + ColorRowCount + ">" + ListCount + "</font> ] <hr>"; if (ListCount < 1) DumpStr += " <font color=" + ColorNoData + ">泛型中无数据!</font>"; else { for (int i = 0; i < ListCount; i++) { string[] StrArr = StrList[i]; int StrArrCount = StrArr.Length; DumpStr += "( String[]:<font color=" + ColorSerial + ">" + i + "</font> ) => 数组元素个数:<font color=" + ColorSerial + ">" + StrArrCount + "</font>"; if (StrArrCount < 1) DumpStr += " <font color=" + ColorNoData + ">数组中无数据</font><p>"; else { for (int j = 0; j < StrArrCount; j++) { DumpStr += " [" + j + "] ( <font color=" + ColorFieldType + ">Int</font> ) => \"<font color=" + ColorFieldValue + ">" + StrArr[j].ToString() + "</font>\""; } } } } } HttpContext.Current.Response.Write(DumpStr + "</div>"); } #endregion #region 直接在浏览器输出数据DataSet对象 /// <summary> /// 直接在浏览器输出数据DataSet对象 /// </summary> /// <param name="DS">DataSet对象</param> public static void DumpDataSet(DataSet DS) { if (DS != null) { int DtCount = DS.Tables.Count; DumpStr = DivRef + "数据类型:<font color=" + ColorDataType + ">DataSet对象</font> [ DataSet中表格个数:<font color=" + ColorRowCount + ">" + DtCount + "</font> ] <hr>"; if (DtCount < 1) DumpStr += " <font color=" + ColorNoData + ">DataSet对象中无表格!</font>"; else { for (int i = 0; i < DtCount; i++) { if (i > 0) DumpStr += "<hr>"; DataTable Dt = DS.Tables[i]; int DtRowsCount = Dt.Rows.Count; int DtColumnsCount = Dt.Columns.Count; DumpStr += "( 表序号:" + i + " 表名:" + Dt.TableName + " ) => [ 行数:<font color=" + ColorRowCount + ">" + DtRowsCount + "</font>,列数:<font color=" + ColorColumnsCount + ">" + DtColumnsCount + "</font> ]"; if (DtRowsCount < 1) DumpStr += " <font color=" + ColorNoData + ">表格中无数据!</font><p>"; else { for (int k = 0; k < DtRowsCount; k++) { DumpStr += " ( Row:<font color=" + ColorSerial + ">" + k + "</font> ) => "; for (int j = 0; j < DtColumnsCount; j++) { string ColumnName = Dt.Columns[j].ColumnName.ToString(); string ColumnType = Dt.Columns[j].DataType.ToString(); DumpStr += " [" + j + "] <font color=" + ColorFieldName + ">" + ColumnName + "</font> ( <font color=" + ColorFieldType + ">" + ColumnType + "</font> ) => \"<font color=" + ColorFieldValue + ">" + Dt.Rows[k][ColumnName].ToString() + "</font>\""; } DumpStr += "<p>"; } } } } } HttpContext.Current.Response.Write(DumpStr + "</div>"); } #endregion #region 直接在浏览器中输出二维数组 /// <summary> /// 直接在浏览器中输出二维数组 /// </summary> /// <param name="ObjArr">二维数组</param> public static void DumpObjectArr2(object[] ObjArr) { if (ObjArr != null) { int ObjLength = ObjArr.Length; DumpStr = DivRef + "数据类型:<font color=" + ColorDataType + ">Object数组</font> [ 数组中元素个数:<font color=" + ColorRowCount + ">" + ObjLength + "</font> ] <hr>"; for (int i = 0; i < ObjLength; i++) { DumpStr += " ( <font color=" + ColorSerial + ">" + i + "</font> ) "; object Arri = ObjArr[i]; DumpStr += " ( "; DumpStr += "<font color=" + ColorFieldType + ">" + Arri.GetType().ToString() + "</font>"; DumpStr += " ) "; DumpStr += " => <font color=" + ColorFieldValue + ">\"" + Arri + "\"</font>"; } } HttpContext.Current.Response.Write(DumpStr + "</div>"); } #endregion public static void DumpObjectArr(object[] ObjArr) { if (ObjArr != null) { HttpContext.Current.Response.Write(ObjArr.GetType()); } } } }
作者:阿笨
【官方QQ一群:跟着阿笨一起玩NET(已满)】:422315558
【官方QQ二群:跟着阿笨一起玩C#(已满)】:574187616
【官方QQ三群:跟着阿笨一起玩ASP.NET(已满)】:967920586
【官方QQ四群:Asp.Net Core跨平台技术开发(可加入)】:829227829
【官方QQ五群:.NET Core跨平台开发技术(可加入)】:647639415
【网易云课堂】:https://study.163.com/provider/2544628/index.htm?share=2&shareId=2544628
【腾讯课堂】:https://abennet.ke.qq.com
【51CTO学院】:https://edu.51cto.com/sd/66c64
【微信公众号】:微信搜索:跟着阿笨一起玩NET