首页 > 编程 > .NET > 正文

轻松解决asp.net论坛中的一版块多斑竹和一用户担任多版块斑竹的问题(不用数组和split)

2024-07-10 12:56:20
字体:
来源:转载
供稿:网友

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

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表