最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

asp.net dataview做無限極分類的又一用法

 更新時間:2009年11月02日 14:07:59   作者:  
通??吹絼e人以及自己以前在綁定無限極分類的時候,總是需要多次連接數(shù)據(jù)庫,這樣覺得造成了資源的浪費,然后我想一次把所有數(shù)據(jù)先取出來(類型不是很多的情況),這樣可以節(jié)省服務(wù)器的開銷。
數(shù)據(jù)庫結(jié)構(gòu):
classidid 主鍵
jobClassName 對應(yīng)的類型名稱
ClassName 對應(yīng)的父類的id
通常做法:

復(fù)制代碼 代碼如下:

private void Display(string parentid, String space)
{
DataTable dt;
String strSQL;
strSQL = "Select * From Tree Where ParentID =" + parentid + " Order By ClassID DESC";
SqlDataAdapter sda = new SqlDataAdapter(strSQL, conn);
DataSet ds = new DataSet();
sda.Fill(ds, "Tree");
dt = ds.Tables["Tree"];
if (dt.Rows.Count > 0)
{
foreach (DataRow dr in dt.Rows)
{
strOpinion += space + "<font color=red>[" + dr["JobClassName"].ToString() +"<br>";
Display(dr["ClassID"].ToString(), "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;" + space,false);
}
}
}

很明顯,這種做法是每個父分類都得建立一次連接,完全浪費資源
現(xiàn)在一次取出所有分類,使用DataView的RowFilter屬性做多次過濾
關(guān)鍵代碼

復(fù)制代碼 代碼如下:

public partial class tree_Default : System.Web.UI.Page
{
DataTable dt = null;
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
bind(0);
}
}
public void bind(int pid)
{
DataTable dt1 = bindTree(pid);
foreach (DataRow dr in dt1.Rows)
{
int id = Convert.ToInt32(dr["classid"].ToString());
if (pid == 0)
Response.Write("<div style='width:100%;float:right;'><h3>" + dr["jobclassname"].ToString() + "</h3></div>");
else
Response.Write("<div style='width:25%;float:left;'>"+dr["jobclassname"].ToString()+"</div>");
bind(id);
}
}
public DataTable bindTree(int pid)
{
if (dt == null)
dt = new data().getCatelogs();
DataView root = dt.DefaultView;
root.RowFilter = "Parentid=" + pid;
return root.ToTable();
}
}

這樣的話,也就沒必要浪費資源的了。
其實這篇文章有些牽強了,一般分類都很少做改動的,直接用緩存或靜態(tài)化處理就可以了,只是想到了記錄一下O(∩_∩)O~。

相關(guān)文章

  • 如何在網(wǎng)站級別動態(tài)更改主題

    如何在網(wǎng)站級別動態(tài)更改主題

    如何在網(wǎng)站級別動態(tài)更改主題...
    2007-04-04
  • 獲取客戶端IP地址c#/vb.net各自實現(xiàn)代碼

    獲取客戶端IP地址c#/vb.net各自實現(xiàn)代碼

    項目要求獲取客戶端的IP地址,分析并且用c#與vb各自實現(xiàn)了此要求,有需要的朋友可以了解下啊,希望本文對你們有所幫助
    2013-01-01
  • 詳解ASP.NET Core 之 Identity 入門(三)

    詳解ASP.NET Core 之 Identity 入門(三)

    本篇文章主要介紹了ASP.NET Core 之 Identity 入門,主要負(fù)責(zé)對用戶的身份進(jìn)行認(rèn)證,有興趣的可以了解一下。
    2016-12-12
  • Asp.Net Core實現(xiàn)Excel導(dǎo)出功能的實現(xiàn)方法

    Asp.Net Core實現(xiàn)Excel導(dǎo)出功能的實現(xiàn)方法

    這篇文章主要給大家介紹了關(guān)于Asp.Net Core實現(xiàn)Excel導(dǎo)出功能的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • .NET6使用ImageSharp實現(xiàn)給圖片添加水印

    .NET6使用ImageSharp實現(xiàn)給圖片添加水印

    這篇文章主要為大家詳細(xì)介紹了.NET6使用ImageSharp實現(xiàn)給圖片添加水印功能的相關(guān)資料,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下
    2022-12-12
  • .NET Core對象池的應(yīng)用:設(shè)計篇

    .NET Core對象池的應(yīng)用:設(shè)計篇

    本文主要講解對象池的三個核心對象:表示對象池的ObjectPool<T>對象、對象值提供者的ObjectPoolProvider對象,已及控制池化對象創(chuàng)建與釋放行為的IPooledObjectPolicy<T>對象。感興趣的小伙伴可以參考一下這篇文章
    2021-09-09
  • ASP.NET Core配置文件的獲取和設(shè)置

    ASP.NET Core配置文件的獲取和設(shè)置

    這篇文章介紹了ASP.NET Core配置文件獲取和設(shè)置的方法,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-04-04
  • 全面剖析.Net環(huán)境下的緩存技術(shù)

    全面剖析.Net環(huán)境下的緩存技術(shù)

    這篇文章主要全面剖析.Net環(huán)境下的緩存技術(shù),介紹緩存的基本概念和常用的緩存技術(shù),給出了各種技術(shù)的實現(xiàn)機制的簡單介紹和適用范圍說明,以及設(shè)計緩存方案應(yīng)該考慮的問題,感興趣的小伙伴們可以參考一下
    2016-03-03
  • ASP.NET延遲調(diào)用或多次調(diào)用第三方Web?API服務(wù)

    ASP.NET延遲調(diào)用或多次調(diào)用第三方Web?API服務(wù)

    這篇文章介紹了ASP.NET延遲調(diào)用或多次調(diào)用第三方Web?API服務(wù)的方法,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-10-10
  • asp.Net JS取母板頁控件值的簡單方法

    asp.Net JS取母板頁控件值的簡單方法

    這篇文章介紹了asp.Net JS取母板頁控件值的簡單方法,有需要的朋友可以參考一下
    2013-07-07

最新評論

辽源市| 荥经县| 台山市| 姜堰市| 织金县| 苍溪县| 泾川县| 泽库县| 娱乐| 张掖市| 靖宇县| 新营市| 藁城市| 保山市| 郓城县| 芜湖市| 金塔县| 来安县| 类乌齐县| 天水市| 温宿县| 开阳县| 阿巴嘎旗| 治多县| 依安县| 增城市| 高雄县| 阜新市| 禹州市| 兰州市| 祁门县| 临澧县| 米脂县| 丰镇市| 明光市| 波密县| 东城区| 乌拉特后旗| 藁城市| 巍山| 平泉县|