在做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论坛中的一版块多斑竹和一用户担任多版块斑竹的问题就解决拉.其他的设置你就自己去随意的做吧!