[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());
}
}
}
}
[C#] 常用工具类——直接在浏览器输出数据的更多相关文章
- [C#] 常用工具类——文件操作类
/// <para> FilesUpload:工具方法:ASP.NET上传文件的方法</para> /// <para> FileExists:返回文件是否存在&l ...
- PHP常用工具类
<?php namespace isslib\Util; use think\Config; /** * 常用工具类 * User: xaxiong * Date: 2016/12/19 * T ...
- javascript常用工具类整理(copy)
JavaScript常用工具类 类型 日期 数组 字符串 数字 网络请求 节点 存储 其他 1.类型 isString (o) { //是否字符串 return Object.prototype.to ...
- commons-lang常用工具类StringEscapeUtils使用--转
https://my.oschina.net/ydsakyclguozi/blog/341496 在apache commons-lang(2.3以上版本)中为我们提供了一个方便做转义的工具类,主要是 ...
- Java项目案例之---常用工具类练习
常用工具类练习 1. 请根据控制台输入的特定日期格式拆分日期,如:请输入一个日期(格式如:**月**日****年),经过处理得到:****年**月**日 import java.util.Scanne ...
- JavaEE-实验一 Java常用工具类编程
该博客仅专为我的小伙伴提供参考而附加,没空加上代码具体解析,望各位谅解 1. 使用类String类的分割split 将字符串 “Solutions to selected exercises ca ...
- 简单了解Spring中常用工具类_java - JAVA
文章来源:嗨学网 敏而好学论坛www.piaodoo.com 欢迎大家相互学习 文件资源操作 Spring 定义了一个 org.springframework.core.io.Resource 接口, ...
- 浅谈集合框架三、Map常用方法及常用工具类
最近刚学完集合框架,想把自己的一些学习笔记与想法整理一下,所以本篇博客或许会有一些内容写的不严谨或者不正确,还请大神指出.初学者对于本篇博客只建议作为参考,欢迎留言共同学习. 之前有介绍集合框架的体系 ...
- Maven基础&&Spring框架阶段常用工具类整理
常用工具类 1.密码加密工具类: package com.itheima.utils; import java.security.MessageDigest; import sun.misc.BASE ...
随机推荐
- PowerDesigner 如何添加每个表中共用的字段及自动添加注释
PowerDesigner 如何添加每个表中共用的字段: 有时候在创建表的时候会有一些共用的字段,但是每一张表都要去创建,这样做很麻烦,特别是这样重复的工作,稍不留意就会出现问题,实际上在PD中有这样 ...
- linux的fork函数
fork函数 头文件:#include<unistd.h> 函数原型:pid_t fork( void);(pid_t 是一个宏定义,其实质是int 被定义在#include< ...
- CSS3 学习
border-radius: 半径,不用学了,用得很熟了,但要记得它的某一个角的写法是border-top/bottom-left/right-radius: ,参数中的两个值为先左右后上下,支持百分 ...
- 发布FireBird数据库所需要DLL文件
数据库版本:2.5.2 ib_util.dll; icudt30.dll; icuin30.dll icuuc30.dll
- Spring 3整合Quartz 1实现定时任务一:常规整合(基于maven构建)
Spring配置Quartz例子(基于maven构建) 在Spring中使用Quartz有两种方式实现:第一种是任务类继承QuartzJobBean,第二种则是在配置文件里定义任务类和要执行的方法,类 ...
- NCPC 2012 Cookie Selection
题目要求每次输出中间的那个数,如果数据很大肯定扛不住: 所以用两个优先队列来维护: 这样的话中间的那个数反正会在两个队列的任何一个的头部: 时间复杂度肯定比较小: 代码: #include <c ...
- 在Eclipse中安装ADT
启动 Eclipse,然后选择 Help > Software Updates….在出现的对话框中,单击 Available Software 选项卡. 单击 Add Site 在 Add Si ...
- 【POJ 2486】 Apple Tree (树形DP)
Apple Tree Description Wshxzt is a lovely girl. She likes apple very much. One day HX takes her to a ...
- 新API:AttachThreadInput
https://msdn.microsoft.com/fr-fr/library/windows/desktop/ms681956(v=vs.85).aspx
- 转: 二十八、Java图形化界面设计——中间容器(Jpanel)
http://blog.csdn.net/liujun13579/article/details/7762835 上一篇讲解了Jframe顶层容器,例子中生成了一个空的窗体,在实际编程过程中,一般很少 ...