Net中實現無限分類的2個例子_.Net教程
推薦:.net 實現 URL重寫,偽靜態一,獲得Mircosoft URLRewriter.dll: 獲得Mircosoft URLRewriter.dll可以到http://www.microsoft.com/china/msdn/library/webservices/asp.net/URLRewriting.mspx?mfr=true 下載完畢后,導入工程,我這里沒有對該工程做任何修改,保留了原來的重寫方式,然后直接在VS2
以前總想著搞這個無限分類,今天終于得空好好的看了下,發現實現的原理還是很簡單的,數據結構上,用兩列(分類編號,上級編號)就可以實現,可是為了聯合查詢的方便,一般都再增加一列(深度),在這個實例里,我只用了兩列,剩下的無非就是遞歸著對TreeView進行數據綁定而已~~。
代碼如下:
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
{
//當前節點的子節點
Node.Text = dr["ClassName"].ToString();
tn.ChildNodes.Add(Node);
bind_tree(dr["ClassId"].ToString(),Node);
}
}
}
}
上次寫了使用TreeView控件進行無限分類綁定的方法,這回再寫個通用性更好的~~嘿嘿 綁定DropDownList~~思想跟上篇日志很接近,也是使用遞歸,當然,網絡上還有很多人給數據庫增加了一個“Depth(深度)”的字段,這樣進行綁定的時候還可以更簡單些哈~~當然,沒有必要的就不加了,還是遞歸使用起來簡單些哈~~不多說了,上代碼哈:
代碼如下:
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")
{
//如果是根節點
tmp = "";
DropDownList1.Items.Add(dr["ClassName"].ToString());
bind_droplist(dr["ClassId"].ToString(), tmp + " ");
}
else
{
//不是根節點
DropDownList1.Items.Add( tmp+"|-" + dr["ClassName"].ToString());
bind_droplist(dr["ClassId"].ToString(), tmp + " ");
}
}
}
分享:Asp.Net下通過切換CSS換皮膚換皮膚的方式有很多種,最簡單的通常就是切換頁面CSS,而CSS通常寫在外部CSS文件里。那么切換css其實就是更換html里的link href路徑。我在網上搜索了下。一般有兩種方式: 1,在頁面放一個holder控件。然后用編程方式把當前用戶的風格css link寫入頁面。 2,通過反射機制
- .net 實現 URL重寫,偽靜態
- Asp.Net下通過切換CSS換皮膚
- ASP.NET DataTable去掉重復行的2種方法
- ASP.NET的(HttpModule,HttpHandler)
- 應用Response.Write實現帶有進度條的多文件上傳
- asp.net用cookie保存用戶密碼自動登錄
- asp.net如何將后臺c#數組傳給前臺js?
- VC++根據explorer.exe進程檢測用戶是否已登錄
- ASP.NET從客戶端中檢測到有潛在危險的request.form值的3種解決方法
- ASP.NET WebForm中%=%>與%#%>的區別
- 淺談ASP.NET中最簡單的自定義控件
- .net中webconfig 詳解
- 相關鏈接:
- 教程說明:
.Net教程-Net中實現無限分類的2個例子
。