

本文实例讲述了Asp.Net实现无限分类生成表格的方法。分享给大家供大家参考,具体如下:
数据结构 monitor_group
monitor_grp_id      monitor_grp_name     parent_id       level               childCount       orderby
[int,自动递增]           [nvarchar,not null]      [int,not null]  [int,not null]   [int,not null]     [int ,null]
      1       数据库服务器                 0                    1                   2
      2       应用服务器                    0                    1                   2
      3       系统服务器                    0                    1                   0 
      4       WEB服务器                   1                    2                   0 
      5      邮件服务器                     1                    2                   0 
      6     代理服务器                      2                    2                   0 
      7     Ftp服务器                       2                    2                   0
\App_code\data.cs
using System;
using System.Data;
using MySql.Data.MySqlClient;
using System.Configuration;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
/// <summary>
///common 的摘要说明
/// </summary>
/// 
namespace yihan
{
 namespace Data
 {
 public class myDataBind
 {
 public myDataBind()
 {
 //
 //TODO: 在此处添加构造函数逻辑
 //
 }
 public static string GetTree_monitor_grp_id(DataTable dt, int parent_id, ref string returnString)
 {
 //绑定目录树
 //dt:DataTable对象;parent_id:父ID;returnString:class_list.aspx.cs
using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using yihan.Data;
public partial class monitor_monitor_group_class_list : System.Web.UI.Page
{
 protected void Page_Load(object sender, EventArgs e)
 {
 if (!IsPostBack)
 {
 DataTable dt = new DataTable();
 string resultString = "";
 string sql = "select * from monitor_group order by orderby desc,monitor_grp_id";
 DbConn conn = new DbConn();
 dt = conn.DataTable(sql);
 Literal1.Text = myDataBind.GetTree_monitor_grp_id(dt, 0, ref resultString); //调用
 dt.Dispose();
 conn.Close();
 }
 }
}
class_list.aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="class_list.aspx.cs" Inherits="monitor_monitor_group_class_list" %> <body> <form id="form1" runat="server"> <table class="conBox" width="100%" border="0" cellpadding="0" cellspacing="1" bgcolor="#66AADD"> <tr align="center" bgcolor="#999999"> <th width="36%" bgcolor="#BAD8EF">监视器组名称</th> <th width="9%" bgcolor="#BAD8EF">级别</th> <th width="15%" bgcolor="#BAD8EF">子节点总数</th> <th width="29%" bgcolor="#BAD8EF">操作</th> </tr> <tr> <td colspan="5" style="padding-left:6px;background:#DBDBDB;">监视器组</td> </tr> <asp:Literal ID="Literal1" runat="server"></asp:Literal> </table> </form> </body>
手写Table
string s="<table>" s+="<tr><td>"; s+=变量值; s+="</td></tr></table>"; ResPonse.Write(s);
至于循环及其其他的方法自己构造
更多关于asp.net相关内容感兴趣的读者可查看本站专题:《asp.net文件操作技巧汇总》、《asp.net ajax技巧总结专题》及《asp.net缓存操作技巧总结》。
希望本文所述对大家asp.net程序设计有所帮助。
