在做asp.net论坛中遇到比较头疼的就是斑竹的设置问题拉.实现一版块多斑竹和一用户担任多版块斑竹,是个双向考虑的问题.当然用象asp中的split()函数方法可以在asp.net中相应的实现,但是对于我这样的新手来说总是感觉比较麻烦.所以就想用一种从数据库建表的角度出发,用datareader实现数据的读取和验证,言归正转.开始……
首先专门建立个储存斑竹的数据表settop
id(数字)为主键 username(文本)为斑竹名 news_id (数字)为论坛版块的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 username=@st”;
oledbcommand cmd=new oledbcommand (sql,conn);
cmd.parameters.add(“@st”,oledbtype.varchar,100).value=st;
oledbdatareader dr;
dr=cmd.executereader();
while(dr.read())//循环读取并与st比较
{
if(dr[“news_id”].tostring()==st)
this.bzmanage.visible=true;
this.isbz.visible=true;
}
}
catch( oledbexception ex)
{
response.write(ex);
}
}
通过 while(dr.read())/循环读取并与st比较,符合条件就执行 this.bzmanage.visible=true; this.isbz.visible=true; 其中在label bzmanage和hyperlink isbz中你可以设置斑竹的功能.
asp.net论坛中的一版块多斑竹和一用户担任多版块斑竹的问题就解决拉.其他的设置你就自己去随意的做吧!