輕松解決asp.net論壇中的一版塊多斑竹和一用戶擔任多版塊斑竹的問題(不用數(shù)組和split)
2024-07-10 12:56:20
供稿:網(wǎng)友
 
在做asp.net論壇中遇到比較頭疼的就是斑竹的設置問題拉.實現(xiàn)一版塊多斑竹和一用戶擔任多版塊斑竹,是個雙向考慮的問題.當然用象asp中的split()函數(shù)方法可以在asp.net中相應的實現(xiàn),但是對于我這樣的新手來說總是感覺比較麻煩.所以就想用一種從數(shù)據(jù)庫建表的角度出發(fā),用datareader實現(xiàn)數(shù)據(jù)的讀取和驗證,言歸正轉(zhuǎn).開始......
首先專門建立個儲存斑竹的數(shù)據(jù)表settop
id(數(shù)字)為主鍵                   username(文本)為斑竹名            news_id (數(shù)字)為論壇版塊的id
id         username     news_id
1            overred         10
2            red                11
3            overred         11
4             red               10
 
先說一下幾個頁面
______________________
index.aspx
各個版塊的顯示,顯示如下
new_id欄目名稱10隨便聊聊>>11asp程序設計>>12asp.net程序設計>> 13其它計算機問題>> 
這個頁面中的news_id傳到bbs.aspx中并在bbs.aspx.cs中設置如下代碼:
public void isbanzhu()//判斷是否為斑竹
  {
   try
   {
    string  datas="provider=microsoft.jet.oledb.4.0;data source=" +server.mappath("overred.mdb");
    oledbconnection conn = new oledbconnection(datas);
    conn.open();
    string st=request.querystring["news_id"];
     string sql="select * from settop where [email protected]";
                oledbcommand cmd=new oledbcommand (sql,conn);
    cmd.parameters.add("@st",oledbtype.varchar,100).value=st;
    oledbdatareader dr;
    dr=cmd.executereader();
    while(dr.read())//循環(huán)讀取并與st比較
    {
     if(dr["news_id"].tostring()==st)
      this.bzmanage.visible=true;
      this.isbz.visible=true;  
             }
   }
   catch( oledbexception ex)
   {
    response.write(ex);
   
   }
  }
通過 while(dr.read())/循環(huán)讀取并與st比較,符合條件就執(zhí)行 this.bzmanage.visible=true; this.isbz.visible=true;  其中在label bzmanage和hyperlink  isbz中你可以設置斑竹的功能.
asp.net論壇中的一版塊多斑竹和一用戶擔任多版塊斑竹的問題就解決拉.其他的設置你就自己去隨意的做吧!