• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 众包
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

zjw-1009

  • 博客园
  • 联系
  • 订阅
  • 管理

公告

View Post

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

在做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                     随便聊聊>>
11                     ASP程序设计>>
12                      ASP.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");
              SqlConnection conn = new SqlConnection(datas);
              conn.Open();
               string st=Request.QueryString["news_id"];

               string sql="select * from settop where username = @ st";
              SqlCommand cmd=new SqlCommand (sql,conn);
              cmd.Parameters.Add("@st",OleDbType.VarChar,100).Value=st;
              SqlDataReader 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论坛中的一版块多斑竹和一用户担任多版块斑竹的问题就解决拉.其他的设置你就自己去随意的做吧!

posted on 2008-09-03 03:46  经纬  阅读(186)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3