/// <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());
}
}
}
}

  

[C#] 常用工具类——直接在浏览器输出数据的更多相关文章

  1. [C#] 常用工具类——文件操作类

    /// <para> FilesUpload:工具方法:ASP.NET上传文件的方法</para> /// <para> FileExists:返回文件是否存在&l ...

  2. PHP常用工具类

    <?php namespace isslib\Util; use think\Config; /** * 常用工具类 * User: xaxiong * Date: 2016/12/19 * T ...

  3. javascript常用工具类整理(copy)

    JavaScript常用工具类 类型 日期 数组 字符串 数字 网络请求 节点 存储 其他 1.类型 isString (o) { //是否字符串 return Object.prototype.to ...

  4. commons-lang常用工具类StringEscapeUtils使用--转

    https://my.oschina.net/ydsakyclguozi/blog/341496 在apache commons-lang(2.3以上版本)中为我们提供了一个方便做转义的工具类,主要是 ...

  5. Java项目案例之---常用工具类练习

    常用工具类练习 1. 请根据控制台输入的特定日期格式拆分日期,如:请输入一个日期(格式如:**月**日****年),经过处理得到:****年**月**日 import java.util.Scanne ...

  6. JavaEE-实验一 Java常用工具类编程

    该博客仅专为我的小伙伴提供参考而附加,没空加上代码具体解析,望各位谅解 1.  使用类String类的分割split 将字符串  “Solutions to selected exercises ca ...

  7. 简单了解Spring中常用工具类_java - JAVA

    文章来源:嗨学网 敏而好学论坛www.piaodoo.com 欢迎大家相互学习 文件资源操作 Spring 定义了一个 org.springframework.core.io.Resource 接口, ...

  8. 浅谈集合框架三、Map常用方法及常用工具类

    最近刚学完集合框架,想把自己的一些学习笔记与想法整理一下,所以本篇博客或许会有一些内容写的不严谨或者不正确,还请大神指出.初学者对于本篇博客只建议作为参考,欢迎留言共同学习. 之前有介绍集合框架的体系 ...

  9. Maven基础&&Spring框架阶段常用工具类整理

    常用工具类 1.密码加密工具类: package com.itheima.utils; import java.security.MessageDigest; import sun.misc.BASE ...

随机推荐

  1. 如何彻底删除PPA软件库

    添加一个PPA源 sudo add-apt-repository ppa:user/ppa-name 如添加cairo-dock到weekly update源 sudo add-apt-reposit ...

  2. android 布局权重问题(转载)

    //权重和父容器orientation有关 horizontal 指水平方向权重  android:layout_width vertical  指垂直方向权重   android:layout_he ...

  3. Word2003中如何使封面和目录中不插入页码

    Word2003中如何使封面和目录中不插入页码?? 转载自: http://blog.zzedu.net.cn/user1/zhaoweijie/archives/2010/187266.html   ...

  4. java 常用基本数据类型的默认值

    在使用基本数据类型作为类成员的时候,有时只初始化了而没有给变量赋值,那么此时,java会给你的变量赋一个默认初始值. boolean        false char              '/ ...

  5. Sublime Text 3 若干问题解决办法

    1.在高分屏下中文文件夹名显示异常问题解决办法 新买了个2K的屏,有些中文文件夹名全部变成了“口口”. 在“preferences” - "设置-用户" 添加 "dpi_ ...

  6. 容斥原理算法总结(bzoj 2986 2839)

    容斥原理是一个从小学就开始学习的算法.但是很多难题现在都觉得做的十分吃力. 容斥原理大概有两种表现形式,一种是按照倍数进行容斥,这个东西直接用莫比乌斯函数就可以了. #include<iostr ...

  7. ECmall错误:Call to a member function get_users_count() on a non-object

    问题描述: 在后台添加了一个app报错:Call to a member function get_users_count()Fatal error: Call to a member functio ...

  8. UITableView.m:8042 crash 崩溃

     CRASH : /BuildRoot/Library/Caches/com.apple.xbs/Sources/UIKit_Sim/UIKit-3600.6.21/UITableView.m:804 ...

  9. 如何解决C#编译中"csc不是内部或外部命令"的问题

    安装完 VisualStudio 2010编译环境后,是不能用命令行直接编译写好的csc文件的,如果不配置环境变量,在命令提示符(cmd)中编译扩展名为cs的文件,会出现错误提示“csc不是内部或外部 ...

  10. POJ_2446_Chessboard

    题目意思就是一个M*N的有洞棋盘棋盘上,用1*2的板子去覆盖没有洞的地方,要求板子不能重叠,最终能否将棋盘完整覆盖. 代码: #include<stdio.h> #include<s ...