輕松解決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論壇中的一版塊多斑竹和一用戶擔任多版塊斑竹的問題就解決拉.其他的設置你就自己去隨意的做吧!