将DataTable转换为字符串(用HTML格式化)的最短方法是什么?
不能接受以编程方式绑定到UI控件并呈现到ASP.NET页面.不能依赖于ASP.NET页面生命周期.
这个目的无关紧要,但要满足好奇心:这是用于执行大量DataTable处理的算法中的日志记录/调试/转储目的.
谢谢!
您可以使用GridView,DataGrid等ASP.net控件并使用StringWriter将它们渲染到StringBuilder中,不需要使用ASP.net页面,这是Console中的一个简单示例
class Program { static void Main(string[] args) { IListpersons = new List () { new Person{Id = 1, Name="Test Name 1"}, new Person{Id = 2, Name="Test Name 2"} }; GridView gridView = new GridView(); StringBuilder result = new StringBuilder(); StringWriter writer = new StringWriter(result); HtmlTextWriter htmlWriter = new HtmlTextWriter(writer); gridView.DataSource = persons; gridView.DataBind(); gridView.RenderControl(htmlWriter); Console.WriteLine(result); } } class Person { public int Id { get; set; } public string Name { get; set; } }
我通过我的应用程序使用此功能.这很简单
static public string ConvertDataTableToHTMLString(System.Data.DataTable dt, string filter, string sort, string fontsize, string border, bool headers, bool useCaptionForHeaders) { StringBuilder sb = new StringBuilder(); sb.Append("
" + dc.Caption + " | "); else sb.Append("" + dc.ColumnName + " | "); } sb.Append("
" + dr[dc].ToString() + " | "); } sb.Append("