




已阅读5页,还剩34页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
网上论坛系统 数据库期末作业学 院:数学与统计学院班 级:硕2041班姓 名:王彭学 号:3112054028完成内容:论坛系统的实现同 组 人:李海玥 朱妤网上论坛系统的实现 网上论坛系统,即BBS论坛,也称为社区,是各类网站中一种常见的功能模块,它为上网用户提供了一个自由的讨论区。用户可以根据需要在论坛上发表帖子,提出问题并表达自己的观点。与此同时,用户还可以在论坛中看到其他人发表的文章,并对其进行恢复。1系统设计1.1功能描述网上论坛分为游客、注册会员、版主及管理员四种身份进行设计。游客主要是可以浏览论坛上各个版块的信息以及版块内相关的帖子;注册会员可以在相应的版块内发表帖子,并且可以对自己感兴趣的帖子进行回复,同时会员之间可以发送短消息;作为一个版块的版主,除了拥有会员的权限外,还可以自己版块的帖子及回复进行管理;管理员主要是对用户管理、论坛分类管理和帖子类型管理几个模块进行管理。按照功能划分,系统可以分为以下几个模块:注册模块、登录模块、浏览信息模块、消息管理模块、用户管理模块、区块管理模块、版块管理模块、帖子类型管理模块、版块帖子管理模块、帖子回复管理模块、浏览版块模块、浏览帖子模块、发表帖子模块以及回复帖子模块。1.2功能模块划分注册模块该模块主要完成用户的注册功能,用户需要填写用户名、密码及邮箱等基本信息。登录模块登录模块实现管理员、版主和注册用户三种角色的分别登录,采取相同的登录页面并根据数据库中的权限字段来区分,从而进行不同的权限分配,以便对反问进行限制。浏览信息模块该模块主要实现让未登录的用户可以浏览帖子列表及其详细内容。消息管理模块该模块使登录用户可以浏览、删除其他用户发给自己的消息,并且可以发送消息给注册用户。用户管理模块该模块实现管理员对注册用户进行授权,可以授权为注册用户、贵宾、版主及区长。区块管理模块该模块实现管理员对已有区域的编辑功能,本系统设定了三个区。版块管理模块该模块实现管理员对版块的添加、修改及删除功能。版块帖子管理模块该模块实现版主对版块帖子进行浏览和删除功能。帖子回复管理模块该模块实现版主对版块中回复的帖子进行浏览和删除功能。浏览版块模块该模块实现登录用户对论坛的版块进行浏览。浏览帖子模块该模块实现登录用户对论坛的版块中的帖子进行浏览。发表帖子模块该模块实现登录用户在论坛的版块中发表帖子。回复帖子模块该模块实现登录用户对论坛的版块中发表的帖子进行回复。查询帖子模块该模块实现登录用户对论坛的版块中发表的帖子进行查询。系统各功能模块之间的关系如图1所示。图1系统的模块图1.3系统流程分析本系统中用户活动图如图2所示,管理员活动图如图3所示。图2系统中的用户活动图图3系统中的管理员活动图2 数据库设计数据库的建立具体分为两个部分:一是概念模型的分析,即E-R图;二是逻辑模型的分析,即表和地段的分析。根据系统模型,可以确定系统中的各种实体以及它们之间的关系。本系统根据上面的设计规划出的实体包括:用户管理表(Users)、权限表(Bbs_Popedom)、论坛区信息表(Bbs_MenuBig)、论坛版块信息表(Bbs_MenuSmall)、论坛帖子信息表(Bbs_Post)、论坛帖子回复信息表(Bbs_PostBack)、论坛回复信息表(Bbs_PostType)、短消息信息表(Bbs_Message)。2.1数据库需求设计l 用户信息表(Users):包括用户ID、登录名、用户密码、邮箱、用户头像、权限和是否管理员等字段,其中用户ID为主键。l 权限表(Bbs_Popedom):包括权限ID和权限名称字段,主键为ID。l 论坛区信息表(Bbs_MenuBig):包括区ID、区名称、区描述、区长编号、添加时间等字段,区ID为主键。l 论坛版块信息表(Bbs_MenuSmall):包括版块ID、版块名称、版块描述、版块图片地址、版主编号、版块所属区的编号、版块添加时间、版块中帖子数目以及回复数目,并以版块ID为主键。l 论坛帖子信息表(Bbs_Post):包括帖子ID、帖子标题、帖子内容、发帖者编号、发帖时间、所属版块编号、帖子类型编号、帖子浏览次数及回复次数,并以帖子ID为主键。l 论坛帖子回复信息表(Bbs_PostBack):包括回复ID、回复内容、回复者 编号、回复时间及帖子编号,并以回复ID为主键。l 论坛回复信息表(Bbs_PostType):包括类型ID、类型名称、类型所属版块和添加时间,并以类型ID为主键。l 短消息信息表(Bbs_Message):包括消息ID、消息标题、消息内容、发送人ID、接收人ID、读写标志及发送时间,并以消息ID为主键。2.2数据库逻辑结构设计2.2.1E-R图设计数据库逻辑设计目标:一是对需求分析中的实体建立对应的表;二是设置表的主键和外键。下面建立E-R图。2.2.2数据模型用户信息表与权限表通过User_Qx与Popedom_Id对应连接。帖子信息表、帖子类型表和用户信息表通过PostType_Id=Post_TypeId与Post_Sender=User_Id连接起来。用户信息表与回复信息表通过User_Id=PostBack_Sender连接起来。区信息表与用户信息表通过MenuBig_Admin=User_Id连接起来。版块信息表与用户信息表通过MenuSmall_Admin=User_Id连接起来。2.2.3数据表根据以上E-R图,可以创建以下数据表。用户管理表Users字段名数据类型长度主键描述User_IdInt4是用户IDUser_NameVarchar20否用户登录名User_PwdVarchar50否用户密码User_EmailVarchar200否用户邮箱User_PicVarchar200否用户头像User_QxInt4否用户权限User_OnlineInt4否在线状态User_IpVarchar50否登录IPUser_LoginDateDatetime8否最后登录时间IsAdminBit1否是否管理员权限表Bbs_Popedom字段名数据类型长度主键描述Popedom_IdInt4是权限IDPopedom_NameVarchar50否权限名称论坛信息表Bbs_MenuBig字段名数据类型长度主键描述MenuBig_IdInt4是区IDMenuBig_NameVarchar50否区名称MenuBig_DescriptionVarchar200否区描述MenuBig_AdminVarchar200否区长编号MenuBig_AddDatetime8否添加时间论坛版块信息表Bbs_MenuSmall字段名数据类型长度主键描述MenuSmall_IdInt4是版块IDMenuSmall_NameVarchar50否版块名称MenuSmall_DescriptionVarchar200否版块描述MenuSmall_ImgUrlVarchar500否版块图片地址MenuSmall_AdminInt4否版主编号MenuSmall_BigIDInt4否所属分区编号字段名数据类型长度主键描述MenuSmall_AdddateDatetime9否添加时间MenuSmall_PostCountInt4否帖子数目MenuSmall_PostBackCountInt4否回复数目论坛帖子信息表Bbs_Post字段名数据类型长度主键描述Post_IdInt4是帖子IDPost_TitleVarchar50否帖子标题Post_ContentVarchar200否帖子内容Post_SenderVarchar500否发帖人编号Post_SendTimeInt4否发帖时间Post_SmallIdInt4否所属版块编号Post_TypeIdInt4否所属帖子类型编号Post_BrowseCountInt4否浏览帖子次数Post_BackCountInt4否回复帖子次数论坛帖子回复信息表Bbs_PostBack字段名数据类型长度主键描述PostBack_IdInt4是回复IDPostBack_ContentVarchar500否回复内容PostBack_SenderInt4否回复人编号PostBack_SendTimeDatetime8否回复时间PostBack_PostIdInt4 否回复帖子编号论坛帖子回复类型信息表Bbs_PostType字段名数据类型长度主键描述PostType_IdInt4是类型IDPostType_NameVarchar50否类型名称PostType_MenuSmallIdInt4否所属版块编号PostType_AdddateDatetime8否添加时间短消息信息表Bbs_Message字段名数据类型长度主键描述Message_IdInt4是消息IDMessage_TitleVarchar50否消息标题Message_ContentVarchar50否消息内容Message_SenderInt4否发送人IDMessage_ToUserInt4 否接收人IDMessage_IdReadInt4否读写标志(默认为0)Message_AdddateDatetime8否发送时间2.2.4存储过程设计1、用户登录信息的存储过程在数据库Webbs中,创建Up_UserLogin存储过程,通过用户ID来修改用户的Ip,在线信息及登录时间,代码如下:CREARTE PROCEDUREdbo.Up_UserLogin(User_Idint,User_Ipvarchar(15)AS UPDATEUsers SET User_Ip=User_Ip,User_Online=1,User_LoginDate=getdate() WHERE User_Id=User_Id2、添加用户信息的存储过程在数据库Webbs中,创建Add_Users存储过程,见用户名、密码、用户邮箱及用户头像插入表中,并将用户在线信息、用户权限设为1.插入之后获取用户的ID。CREARTE PROCEDUREdbo.Add_Users(User_Namevarchar(20),User_Pwdvarchar(50), User_Emailvarchar(200),User_Picvarchar(200),User_Idint out)AS INSERT INTOUser_Name,User_Pwd,User_Email,User_Pic,User_Online,User_QxVALUES(User_Name,User_Pwd,User_Email,1,1)SELECT User_Id=Max(User_Id)FROM Users3、添加帖子信息的存储过程在数据库Webbs中,创建Up_Add_Bbs_Post存储过程,首先根据传入帖子的所属版块的ID,来查询该ID是否存在,若存在则插入帖子信息,具体代码如下:CREARTE PROCEDUREdbo.Up_Add_Bbs_Post(Post_Titlevarchary(200),Post_Contentvarchar(500),Post_Senderint,Post_SmallIdint,Post_TypeIdint)AS DECLARE bsintSELECTbs=Count(MenuSmall_Id)FROM Bbs_MenuSmall WHERE MenuSmall_Id=Post_SmallId IF(bs=1)BEGININSERT INTO Bbs_Post(Post_Title,Post_Content,Post_Sender,Post_SmallId,Post_TypeId)VALUES(Post_Title,Post_Content,Post_Sender,Post_SmallId,Post_TypeId)END4、执行回复帖子的存储过程在数据库Webbs中,创建Up_Add_Bbs_PostBack存储过程,将恢复内容、回复人ID和回复的帖子ID插入回复信息表中。具体代码如下:CREARTE PROCEDUREdbo.Up_Add_Bbs_PostBack(PostBack_Contentvarchar(500),PostBack_Senderint,PostBack_PostIdint)ASINSERT INTO Bbs_PostBack(PostBack_Content,PostBack_Sender,PostBack_PostId)VALUES(PostBack_Content,PostBack_Sender,PostBack_PostId)3 网上论坛系统的实现本系统采用SQL Server 2005构建数据库,使用visual studio 2005开发环境作为平台,创建网站。3.1数据库访问类的实现网站bbs中的类文件CommSql.cs能够实现对数据库的访问。其中包含了访问数据库的基本函数,代码如下所示:using System.Collecions;using System.Data;using System.Data.SqlClient;public class CommSql/获取Web.Config数据库连接字段private readonly string SqlConnectionString=ConfigurationManager.ConnectionSreings“WebbConn”.ConnectionString; Private SqlConnection cn; /创建SQL连接 Private SqlCommand cmd; /创建SQL命令对象 Private SqlParameter param; /创建SQL参数在类CommSql中添加函数Open(),用于打开数据库连接,代码如下:public void Open() cn=new SqlConnection(SqlConnectionString); cn.Open();其余命令的代码的格式类似于Open()函数,就不在这里添加代码了。其中,Close()用于关闭数据库连接,RunSql()执行输入的SQL语句,RunSqlReturn()执行输入的SQL语句,返回第一行第一列的值,RunProc()执行输入的存储过程语句,返回存储过程需要返回的值,CreateCommand()执行输入的存储过程及参数,返回存储过程的值,MakeInParam()通过输入的存储过程名称、参数类型、参数大小以及参数的值,来建立新的传入参数的parameter对象,MakeOutParam()通过输入的存储过程名称、参数类型和参数大小,来建立新的传出返回值的parameter对象,MakeParam()根据输入的存储过程名称、参数类型、参数大小、参数方向和参数的值,生成存储过程参数。3.2自定义用户控件首先在网站bbs中,添加一个文件夹并将其命名为“controls”,右击该文件夹,选择“添加新项”选项,然后选择“Web用户控件”,命名为“UpImg.ascx”。单击“添加”按钮,完成添加。在“UpImg.ascx”中,先用Table进行布局,在里面添加一个TextBox控件,将其ID修改为“txtPic”,将其Text设置为http:/;添加一个FileUpload控件,将其ID设置为“FupdImg”;添加一个Button控件,将其ID设置为“btnUpFile”,将其Text设置为上传;添加一个Image控件,修改其ID为“imgPreView”。UpImg.ascx的界面如下图所示:3.3用户界面的实现系统的注册会员(即会员)、未注册会员(即游客)或者版主访问系统是,与其相关的界面包括首页、用户注册、用户登录、版块浏览、帖子浏览、发表帖子、回复帖子、消息列表、发送消息、查看消息及查询帖子等页面。如下表所示:名称功能说明bbsMain.maste母版页,实现对用户相关页面的布局UserJoin.aspx用户注册页,实现注册成为系统会员的功能Vld_Username.aspx用来检测用户是否存在的页面UserLogin.aspx用户登录页Default.aspx首页,实现论坛分区的显示SmallMenu.aspx论坛显示版块信息页,实现显示指定分区内版块信息的功能PostList.aspx帖子列表页,实现显示指定版块内帖子列表的功能BrowsePost.aspx浏览帖子页,实现显示帖子内容及对帖子的回复信息等功能SendPost.aspx发表帖子页,实现会员发表帖子的功能PostBack.aspx回复帖子页,实现会员对相关帖子回复的功能Message_List.aspx消息列表页,实现会员查看自己所有消息的功能Add_Message.aspx发送消息页,实现会员之间发送消息的功能Browse_Message.aspx浏览消息页,实现会员查看消息具体信息的功能SearchResult.aspx帖子查询结果页,实现对查询到的帖子结果的显示下面分别介绍各页面的实现1、 母版页的实现bbs网站中,母版页为”bbsMain.maste”。在母版页中,通过添加Table进行布局,在第一行加入首页、ASP.NET学习区、娱乐专区及管理专区等文本,并设置它们的href属性,在第二行添加一个Lable控件来显示用户的登陆状态,默认为“游客”,并添加三个LinkButton控件,分别修改其Text为“注册”、“登陆”、“退出”,并分别修改其ID为“User_Join”、“User_Login”和“Exit”,再添加一个HyperLink控件,修改其ID为“ts_hl”,来显示登陆用户新消息条数,再添加“相关帖子查找”的文本,并添加一个TextBoxk控件,修改其ID为“search_txt”,在添加一个Button控件,修改其ID为“search_bt”,修改其Text为“查找”,最后一行显示论坛的页脚信息。(1)在文件bbsMain.maste.cs中,添加一个创建数据库连接类的对象成员,并在Page_Load事件中,通过Session值来判断用户的登陆状态,分别实现不同的功能。(2)添加“user_login”控件的Click事件,用于跳转到登陆页。(3)添加“user_join”控件的Click事件,用于跳转到注册页。(4)添加“Exit”控件的Click事件,用于修改用户在线信息,将Session值均设为空,并跳转到登陆页。(5)添加“search_bt”控件的Click事件,用于跳转到帖子查询结果页。模板页的界面如下图所示:2、 首页的实现在“bbs”网站中,首页为“Default.aspx”的Web窗体,其中的控件属性如表所示控件ID控件类型其他属性BigMenuDsSqlDataSourceConnectionString修改为”,SelectCommand为”SELECT*FROMBbs_MenuBig”DataList1DataListDataSourceID=”BigMenuDS”选择“DataList1”控件,右击,在弹出的菜单中选择“编辑模板”|“项模板”命令,通过添加Table进行布局,添加绑定列、链接。首页用来显示论坛的分区,运行效果如图所示3、 用户注册页在“bbs”网站中,用户注册页为“UserJoin.aspx”的Web窗体,“bbsMain.aspx”为母版页,其控件的主要属性如表所示控件ID控件类型Text其他属性Username_txtTextBoxpwd1_txtTextBoxTextMode=”Password”Pwd2_txtTextBoxTextMode=”Password”Email_txtTextBoxusernameRFVRequiredFieldValidatorControlToValidate=”username_txtpwd1RFVRequiredFieldValidatorControlToValidate=”pwd1_txtpwd2RFVRequiredFieldValidatorControlToValidate=”pwd2_txtemailRFVRequiredFieldValidatorControlToValidate=”Email_txtpwdCVCompareValidatorControlToCompare=”pwd1_txt”ControlToValidate=”pwd2_txt”REV1ValidationExpressionControlToValidate=”Email_txt”ErrorMessage=”邮箱格式错误!”ValidationExpression=”w+(-+.w+)*w+(-.w+)*.w+(-.w+)*”jcHTML INPUT Button检测用户名onClick=vlduser()”userjoin_btButton注册Reset1HTML INPUT Button重置type=”reset”UpImg1UpImg(1)在UserJoin.aspx.cs文件中,添加创建数据库连接对象,并定义一些常量,其代码如下所示:using System.Data.SqlClient;public partial class UserJoin : System.Web.UI.Page CommSql sql = new CommSql(); private const string USER_ID = User_Id; private const string USER_NAME = User_Name; private const string USER_PWD = User_Pwd; private const string USER_EMAIL = User_Email; private const string USER_PIC = User_Pic; protected void Page_Load(object sender, EventArgs e) (2)在UserJoin.aspx.sd文件中,添加检测用户名是否存在的自定义函数Vld_UserName,通过输入的用户名来查找表User中对应用户ID的个数,若个数为0,则返回true,否则为false,添加的代码如下:public bool Vld_UserName(string username) String strSql = SELECT COUNT(User_Id) FROM Users WHERE User_Name= + username + ; return (Equals(sql.RunSqlReturn(strSql), 0) ? true : false; (3)在UserJoin.aspx.cs文件中,添加自定义函数Add_User,将用户所有合法信息通过调用存储过程Add_User添加到数据库表中,并返回用户ID,添加的代码如下:string Add_User(string User_Name, string User_Pwd, string User_Email, string User_Pic) SqlParameter prams = sql.MakeInParam(USER_NAME,SqlDbType.VarChar,20,User_Name), sql.MakeInParam(USER_PWD,SqlDbType.VarChar,50,User_Pwd), sql.MakeInParam(USER_EMAIL,SqlDbType.VarChar,50,User_Email), sql.MakeInParam(USER_PIC,SqlDbType.VarChar,200,User_Pic), sql.MakeOutParam(USER_ID,SqlDbType.Int,4) ; try sql.RunProc(Add_Users, prams);/执行添加用户的 存储过程 return prams4.Value.ToString(); /返回用户的ID catch return 0; /若添加失败,用户ID返回0 (4)在UserJoin.aspx.cs文件中,添加自定义函数AddUser,先检测输入的用户名是否已存在,确定后调用函数Add_User添加用户。(5)添加“userjoin_bt”控件的Click事件,判断输入的用户名和密码验证是否为空以及验证码是否一致,确定后调用添加用户信息函数AddUser。用户注册页UserJoin.aspx的运行效果如图所示。4、 用户登录页的实现在“bbs”网站中,用户登录页为“UserLogin.aspx”的Web窗体,选择“bbsMain.master”作为母版页,其控件主要属性如表所示:控件ID控件类型Text其他属性Username_txtTextBoxPwd_txtTextBoxUserjoin_hlHyperLink注册?NavigateUrl设为“、UserJoin.aspx”Login_btButton登录resetINPUT Button重置Type设为“reset”(1)在UserLogin.aspx.cs文件中,首先创建数据库连接类对象并定义一些常量,其代码如下:private const string USER_ID = User_Id; private const string USER_IP = USER_IP; CommSql sql=new CommSql();(2)在UserLogin.aspx.cs文件中,添加自定义函数VldUserLogin,处理用户登录的是设置权限信息,并根据用户的类别跳转到相应的页。(3)添加“Login_bt”控件的Click事件,在输入错误信息时提示警告信息。用户登录页的运行效果如图所示5、 版块信息页的实现在“bbs”网站中,版块信息页为“SmallMenu.aspx”的Web窗体,选择“bbsMain.master”为母版页,其控件属性如表所示:控件ID控件类型属性SmallMenuDsCSqlDataSourceConnectionString设为”SelectCommand设为”SELECT*FROMV_Bbs_MenuSmallDatails WHERE (MenuSmall_BigId=MenuSmall_BigId)ORDERBYMenuSmall_Id”在中QueryStringParameterName设为”MenuSmall_BigId”QueryStringField设为”MenuBig_Id”DataList1DataListDataKeyField设为”MenuSmall_Id”DataSourceId设为”SmallMenuDs”在版块信息SmallMenu.aspx页中选择“娱乐专区”,运行效果如图所示。6、 帖子列表页的实现在“bbs”网站中,帖子列表页为“PostList.aspx”的Web窗体,选择“bbsMain.master”为母版页,其控件属性如表所示。控件ID控件类型属性PostListDsSqlDataSourceConnectionString=”SelectCommand=”SELECT*FROMBbs_Post WHERE (Post_SmallId= Post_SmallId)DeleteCommand=”DELETE FROMBbs_Post WHERE Post_Id=Post_Id”中QueryStringParameter Name=”Post_SmallId”QueryStringField=”MenuSmall_Id”Postlist_gvGridViewAllowPaging=”True”AllowSorting=”True”DataKeyNames=”Post_Id”DataSourceID=”PostListDs”sp_btImageButtonImageUrl设为”/images/postnew.gif”在PlstList.aspx源文件中,Postlist_gv的主题模板列的代码如下所示: ahref=BrowsePost.aspx?MenuSmall_Id=&Post_Id= target=_blankasp:Label ID=lblNew runat=server Text=asp:Label id=lblGoto Text= runat=server 以普通注册用户登录系统,选择“ASP.NET学习专区”的“新手讨论”版块,帖子列表页PostList.aspx的运行效果如图所示。以版主登录系统,运行效果如图所示。(1)在Page_Load事件中对用户权限进行判断。(2)添加“sp_bt”控件的Click事件,获取板块ID后,跳转到发表帖子页面。7、 浏览帖子页的实现在“bbs”网站中,浏览帖子页为“BrowsePost.aspx”的Web窗体,选择“bbsMain.master”作为母版页,其控件主要属性如表所示。控件ID控件类型属性PostList_DsSqlDataSourceConnectionString=”SelectCommand=”SELECT*FROMV_Bbs_PostDetails WHERE (Post_Id= Post_Id) ORDER BY Post_Id”中QueryStringParameter Name=”Post_Id”QueryStringField=”Post_Id”PostBack_DsSqlDataSourceConnectionString=”SelectCommand=”SELECT*FROMV_Bbs_PostBackDetailsWHERE (PostBack_Id= PostBack_Id)”DeleteCommand设为DELETE FROM Bbs_PostBackWHEREPostBack_Id=PostBack_Id”中QueryStringParameter Name为”PostBack_PostId”QueryStirngField为”Post_Id”SendPost_btImageButtonImageUrl设为“/images/postnew.gif”PostBack_btImageButtonImageUrl设为“/images/mreply.gif”Tx_gvGridView列中添加一个TemplateField;DatasourceID设为“PostList_Ds”Hf_gvGridView列中添加一个TemplateField,CommandFieldShowDeleteButton=“True”;AllowPaging设为“True”;AllowSorting设为“True”;DataSourceID设为“PostBack_Ds”;GridLine设为“Horizontal”;PageSize设为“5”在Tx_gv控件的TemplateField中,用Table进行布局,其控件属性如表所示控件ID类型属性Label1LabelText绑定数据(“User_Name”)Label2LabelText绑定数据(“Popedom_Name”)Label3LabelText绑定数据(“User_Email”)Label9LabelText绑定数据(“Post_SendTime”)Label10LabelText绑定数据(“Post_Title”)Label11LabelText绑定数据(“Post_Content”)Image1ImageImageUrl绑定数据(“Usr_Pic”)在Hf_gv控件的TemplateField中用Table进行布局,其控件属性如表所示。控件ID类型属性Label4LabelText绑定数据(“User_Name”)Label5LabelText绑定数据(“Popedom_Name”)Label6LabelText绑定数据(“User_Email”)Label7LabelText绑定数据(“PostBack_Content”)Label8LabelText绑定数据(“PostBack_SendTime”)Image2Image1ImageUrl绑定数据(“Usr_Pic”)会员登录或未注册用户,在图17所示的帖子列表中,单机帖子的标题,跳转到浏览该帖子的页面,运行效果如图所示。若该版块的版主进入,还可以对回复信息进行删除管理,运行效果如图所示在上图,单击“发表话题“按钮,进入发表帖子页面;单击“回复帖子”按钮,进入回复帖子页面。(1)在Page_Load事件中首先添加帖子的浏览次数,然后进行权限验证,判断是否为版主,如果是的话,则可以对回复信息进行删除管理,否则,不显示删除按钮。(2)在BrowsePost.aspx.cs中添加自定义函数PostBrowseCount,通过获取帖子ID来增加该帖子的浏览数目。(3)添加“SendPost_bt”控件的Click事件,跳转到发表帖子页。(4)添加“PostBack_bt”控件的Click事件,跳转到回复帖子页。8、 发表帖子页在“bbs”网站中,发表帖子页面为“SendPost.aspx”的Web窗体,选择“bbsMain.master”作为母版页,设计图如下:会员登录系统后,单击19图“发表话题”按钮,跳转到发表帖子页SendPost.aspx,运行效果如图所示。(1)在Page_Load事件中判断用户登录状态并从配置文件中获取过滤字段。(2)添加“send”控件的Click事件,获取表单信息,同时对发表的内容和标题进行过滤,若含有不合理语句则出现提示,否则调用添加函数。(3)添加发表帖子的自定义函数AddPost,如果成功,则跳转到帖子列表页。(4)添加执行存储过程的自定义函数Up_Add_Bbs_Post,向数据库表中添加信息,插入成功返回ture。(5)添加自定义函数GuoLv,过滤一些不合理的字符段函数,若含有则返回false。9、 回复帖子页在“bbs”网站中,回复帖子页为“PostBack.aspx”的Web窗体,选择“bbsMain.master”作为母版页,设计图如下:会员登录系统后,在版块中浏览帖子时,单击“回复帖子”按钮跳转到回复帖子页面PostBack.aspx,运行效果如图所示。(1)在Page_Load时间中进行身份验证,并从配置文件中获取过滤字段。(2)添加自定义函数Add_Bbs_PostBack,执行存储过程向数据库表中插入数据,执行成功返回true。(3)添加自定义函数AddPostBack,调用Add_Bbs_PostBack函数。(4)添加自定义函数Guolv,过滤一些不合理字段函数,若含有则返回false。(5)添加“PostBack_bt”控件的Click事件,获取表单信息,并对帖子内容进行过滤,如果含有不合理字符,则提示,否则,调用AddPostBack函数。10、消息列表页的实现在“bbs”网站中,消息列表页为“Message_List.aspx”的Web窗体,选择“bbsMain.master”作为母版页,设计图如下:会员登录系统后,通过单击“新消息”链接跳转到消息列表页Message_List.aspx,运行效果如图所示。单击“发送消息”按钮后,跳转到发送消息页面。添加“fm_bt”控件的Click事件,代码如下:protected void fm_bt_Click(object sender, EventArgs e) Response.Redirect(/Add_Message.aspx); 10、发送消息页的实现在“bbs”网站中,发送消息页为“Add_Message.aspx”的Web窗体,选择“bbsMain.master”作为母版页,设计图如下:会员登录系统后,在消息列表中,通过单击“发送消息”按钮跳转到发送消息页Add_Message.aspx,运行效果如图所示。(1)在Add_Message.aspx.cs中添加自定义函数Alert,用于弹出提示窗口,添加的代码如下:public partial class Add_Message : System.Web.UI.Page CommSql sql = new CommSql(); public static void Alert(string message) string js = alert( + message + ); HttpContext.Current.Response.Write(js); (2)添加发送按钮“tj_bt”的Click事件,获取表单信息插入到数据库表中,发送成功则出现提示信息。12、查看消息页在“bbs”网站中,查看消息页为“Brows
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 彩礼钱归还合同范本
- 销售合同范本图解
- 租空场地合同范本
- 夫妻之间借钱合同范本
- 冰箱电机转让合同范本
- 雨篷采购合同范本
- 场地玩具租赁合同范本
- 保安公司疫情合同范本
- 医院后勤岗位合同范本
- 电信bot业务合同范本
- 2025年04月广东省特种设备检测研究院东莞检测院招考笔试历年典型考题(历年真题考点)解题思路附带答案详解
- 老年人生命教育
- 租车合同免责协议模板
- 院感相关法律法规知识培训
- 《化妆品生产工艺验证指南》
- T-CPHA 36-2024 煤炭矿石码头露天堆场堆料机洒水系统技术要求
- 绿色简约实拍杨善洲介绍
- 手术室护理术中低体温预防
- 高血压科普健康宣教课件
- 2025年上半年内蒙古森工集团公开招聘工勤技能人员605名易考易错模拟试题(共500题)试卷后附参考答案
- 电力系统自动化技术培训课件
评论
0/150
提交评论