Net中實(shí)現(xiàn)無限分類的2個例子_.Net教程

      編輯Tag賺U幣
      教程Tag:暫無Tag,歡迎添加,賺取U幣!

      推薦:.net 實(shí)現(xiàn) URL重寫,偽靜態(tài)
      一,獲得Mircosoft URLRewriter.dll: 獲得Mircosoft URLRewriter.dll可以到http://www.microsoft.com/china/msdn/library/webservices/asp.net/URLRewriting.mspx?mfr=true 下載完畢后,導(dǎo)入工程,我這里沒有對該工程做任何修改,保留了原來的重寫方式,然后直接在VS2

       以前總想著搞這個無限分類,今天終于得空好好的看了下,發(fā)現(xiàn)實(shí)現(xiàn)的原理還是很簡單的,數(shù)據(jù)結(jié)構(gòu)上,用兩列(分類編號,上級編號)就可以實(shí)現(xiàn),可是為了聯(lián)合查詢的方便,一般都再增加一列(深度),在這個實(shí)例里,我只用了兩列,剩下的無非就是遞歸著對TreeView進(jìn)行數(shù)據(jù)綁定而已~~。

       

      代碼如下:
      public partial class _Default : System.Web.UI.Page
      {
      BIL bil = new BIL();
      protected void Page_Load(object sender, EventArgs e)
      {
      if (!IsPostBack)
      {
      bind_tree("0",null);
      }
      }
      protected void bind_tree(string ChildNode,TreeNode tn)
      {
      DataTable dt = bil.GetByClassPre(ChildNode).Tables[0];

       

      foreach (DataRow dr in dt.Rows)
      {
      TreeNode Node = new TreeNode();
      if (tn==null)
      {
      //根
      Node.Text = dr["ClassName"].ToString();
      this.TreeView1.Nodes.Add(Node);
      bind_tree(dr["ClassId"].ToString(), Node);
      }
      else
      {
      //當(dāng)前節(jié)點(diǎn)的子節(jié)點(diǎn)
      Node.Text = dr["ClassName"].ToString();
      tn.ChildNodes.Add(Node);
      bind_tree(dr["ClassId"].ToString(),Node);
      }
      }
      }
      }

       

      上次寫了使用TreeView控件進(jìn)行無限分類綁定的方法,這回再寫個通用性更好的~~嘿嘿 綁定DropDownList~~思想跟上篇日志很接近,也是使用遞歸,當(dāng)然,網(wǎng)絡(luò)上還有很多人給數(shù)據(jù)庫增加了一個“Depth(深度)”的字段,這樣進(jìn)行綁定的時候還可以更簡單些哈~~當(dāng)然,沒有必要的就不加了,還是遞歸使用起來簡單些哈~~不多說了,上代碼哈:

       

      代碼如下:
      protected void bind_droplist(string ChildNode, string tmp)
      {
      DataTable dt = bil.GetByClassPre(ChildNode).Tables[0];

       

      foreach (DataRow dr in dt.Rows)
      {
      if (dr["ClassPre"].ToString()=="0")
      {
      //如果是根節(jié)點(diǎn)
      tmp = "";
      DropDownList1.Items.Add(dr["ClassName"].ToString());
      bind_droplist(dr["ClassId"].ToString(), tmp + " ");
      }
      else
      {
      //不是根節(jié)點(diǎn)
      DropDownList1.Items.Add( tmp+"|-" + dr["ClassName"].ToString());
      bind_droplist(dr["ClassId"].ToString(), tmp + " ");
      }
      }
      }

      分享:Asp.Net下通過切換CSS換皮膚
      換皮膚的方式有很多種,最簡單的通常就是切換頁面CSS,而CSS通常寫在外部CSS文件里。那么切換css其實(shí)就是更換html里的link href路徑。我在網(wǎng)上搜索了下。一般有兩種方式: 1,在頁面放一個holder控件。然后用編程方式把當(dāng)前用戶的風(fēng)格css link寫入頁面。 2,通過反射機(jī)制

      來源:模板無憂//所屬分類:.Net教程/更新時間:2015-02-15
      相關(guān).Net教程