机械CAD/CAM精品课程网站系统课程论坛模块开发
2018-04-19刘清涛陈旭锋刘晓婷
刘清涛 陈旭锋 刘晓婷
摘 要 课程论坛模块的开发旨在为学生与学生或学生与教师之间搭建一个交流互动的平台,在学习或教学过程中提供一种提出问题、讨论问题、解决问题的途径。该模块主要功能有:用户(学生)浏览已发表帖子,回复帖子,发表新帖;管理员(教师)浏览所发布内容,回复帖子,删除用户所发表或回复的不当内容。
关键词 机械CAD/CAM;课程论坛;Visual Studio;精品课程网站
中图分类号:G642.3 文献标识码:B
文章编号:1671-489X(2018)02-0056-04
1 前言
精品课程网站建立的目的是充分利用计算机技术和互联网方便快捷共享等优势,实现网络教学这一非传统教学模式,提供一种有效的手段,引导学生自主学习,帮助学生理解学习的重点和难点,激发学生积极探索,提高学习的效率和质量,同时实现优质教学资源的网络共享[1]。
学生在课程网络学习过程中难免会遇到困难,如教学内容不易理解、习题疑惑等,很有必要提供一个平台使学生之间或者师生之间能够彼此讨论交流,迅速及时地解决学习困惑。本文所提课程论坛模块作为长安大学精品课程“机械CAD/CAM”网站建设的重要部分,采用浏览器/服务器(B/S)架构模式,基于ASP.NET开发环境和SQL Sever 2008数据库,使用C#编程语言,在Visual Studio 2010开发环境下开发实现。
2 网站开发环境与相关技术
浏览器/服务器(B/S)架构模式 B/S结构即浏览器和服务器结构。B/S结构是随着互联网技术的不断发展变化,由最初的C/S结构演化升级而成的一种新型架构模式。这种架构模式的突出优点是不必单独开发安装客户端程序,其具有统一的客户端程序即浏览器。简单地说,就是用户计算机上只要有浏览器,就可以访问使用此应用程序,而不需要烦琐地安装其他专门的客户端应用软件。这种模式不仅可以简化用户电脑载荷,而且省去客户端程序必要的维护升级的成本和工作量。B/S结构模式的实现原理是少部分事务逻辑在前端(Browser)实现,主要事务逻辑在服务器端(Server)实现,而用户界面完全通过WWW浏览器实现。
ASP.NET开发技术 ASP.NET是一种用来创建Web应用程序的服务器端技术。在应用ASP.NET技术进行Web程序开发过程中,Web程序将呈现的用户界面与开发程序的界面是相互分开的,即界面前置代码后置的方式,使程序具有良好的可读性,且界面设计更加清晰明了。使用ASP.NET技术开发Web程序,可以使用任何.NET兼容语言(如Visual
Basic、C#)编写,如此也大大提高了其执行效率和跨语言的兼容性[2]。
SQL Sever 2008数据库 使用数据库的目的是使网站系统中对数据资料的查阅、删除、增加以及修改等操作更加简单方便,同时减少数据结构的冗余度,为节约数据存储空间起到巨大作用[3]。SQL Sever 2008数据库与其他数据库管理系统相比,针对数据管理具有专业的智能管理工具,而且其引擎为关系型数据和结构化数据的安全性与可靠性提供了更高的保证。
C#编程语言 C#高级编程语言是微软公司在之前VB、VC等高级编程语言的基础上推出的一种新的编程语言,其在延续之前的语法结构的基础上又创新性加入面向对象的特性,所以C#的入门相对容易,但对于面向对象的编程思想又有深入学习的必要。C#以.NET为支撑,在VS编程工具中包含大量的内置类库文件,能够方便地通过已有类创建对象,从而提高编程的效率和迅速地实现所需求功能。
Visual Studio 2010开发软件 Visual Studio系列软件是基于.NET环境对Windows平台应用程序以及Web应用程序等进行开发的一款软件。Visual Studio不仅包含有其他开发软件所具有的编译调试等功能,而且其新颖独特的界面设计与组织使得编程开发过程变得更加简单明了。在兼容性方面,Visual Studio开发软件不仅支持Micro-soft SQL Server数据库类型,而且支持IBMDB2和Oracle等其他数据库类型,支持的編程语言类型包括C#、C++、VB等大多数主流的编程语言类型。
HTML与CSS HTML(HyperText MarkUp Language,超文本标记语言)是一种使用标记来描述文档结构和表现形式的语言。HTML语言不需要在服务端编译,该标记语言由浏览器进行解析,然后把结果显示在网页上。CSS(Cascading Style Sheets,层叠样式表)用来定义元素的属性,实现在一个页面上不同元素间展现不同的样式。对于HTML与CSS两者之间的关系,如果说HTML是网页的结构,CSS是网页的样式,那么结构就是盖房子先要把结构建出来,然后用CSS来装饰[4]。
3 主要功能的开发与实现
本系统模块主要开发的功能有:用户(学生)浏览已发表帖子,回复帖子,发表新帖,删除回复或发表的内容;管理员(教师)浏览所发布内容,回复帖子,删除用户所发表或回复的不当内容。系统结构如图1所示。
用户模块
1)用户主页。该主页为管理员和用户进入课程论坛的首个界面,如图2所示。该页面显示帖子主题、发布人、回复人数、发布时间等信息以及发布新帖等按钮。对于访问该页面的用户想要继续查看帖子内容或者发布新帖,首先必须是在登录状态,否则点击链接或按钮将弹出登录窗口。检查是否登录部分程序如下:
if (Session[″username″] != null || Session[″password″] != null) //检查用户名密码是否为空
{
Session[″zhuti″] = butt.Text;
Session[″u_name″] = llab.Text;
Session[″date″] = lbdate.Text;
Response.Redirect(″Information.aspx″); //跳到被点击主题的页面浏览帖子内容
}
else
{
Response.Write("");
//跳到登录页面
}
2)用户回复/浏览帖子。当用户点击主题超链接后,显示该主题帖子页面,如图3所示,用户可以浏览帖子内容并且可以点击评论按钮进行帖子回复[5]。回复帖子部分关键程序如下:
SqlConnection conn2 = new SqlConnection(Configuration
Manager.ConnectionStrings[″conn2″].ConnectionString);
conn2.Open();
string sqlcmd2 = ″insert into [recontent] (re_username,re_content,re_date,id) values (′″ + Session[″username″] + ″′ ,′″ +
this.tbrecontent.Text + ″′,′″ + DateTime.Now + ″′,′″ + Session
[″id″] + ″′)″;
SqlCommand mycmd2 = new SqlCommand(sqlcmd2, conn2);
mycmd2.ExecuteNonQuery();
conn2.Close();
conn.Open();
int i = Convert .ToInt32 ( Session[″hf_nums″]);
string sqlcmd = ″update [usercontent] set hf_nums=′″ + ++i
+ ″′where id= ′″+Session [″id″]+″′ ″;
SqlCommand mycmd3 = new SqlCommand(sqlcmd, conn);
mycmd3.ExecuteNonQuery();
conn.Close();
Page.ClientScript.RegisterStartupScript(Page.GetType(), "alert", ""); //将评论人的用户名、评论日期、评论内容等写入数据库,并且提示“回复成功!!!”
3)用户发表帖子。当用户点击发表帖子按鈕后,显示该发表帖子页面,如图4所示。发布人即所登录的用户名,用户填写主题、内容后点击发表即可发表帖子。发表帖子部分关键程序如下:
StrInsert = ″insert into usercontent (username,content,date,
title) values(@username,@content,@date,@title)″; //插入数据信息
SqlCommand cmd = new SqlCommand(StrInsert, conn); //添加参数并且设置参数值
cmd.Parameters.Add(″@content″, SqlDbType.VarChar, 5000);
cmd.Parameters[″@content″].Value = this.Textconents.Text.ToString();
cmd.Parameters.Add(″@username″, SqlDbType.VarChar);
cmd.Parameters[″@username″].Value = this.Label1.Text.ToString();
cmd.Parameters.Add(″@date″, SqlDbType.DateTime, 50);
cmd.Parameters[″@date″].Value = DateTime.Now.ToString
();
cmd.Parameters.Add(″@title″, SqlDbType.VarChar, 50);
cmd.Parameters[″@title″].Value = this.TextBox1.Text.To
String(); //执行插入数据的操作
cmd.ExecuteNonQuery();
conn.Close();
ClientScript.RegisterStartupScript(this.GetType(), "ss", ""); //弹出发布成功窗口提示
管理员模块
1)管理员主页/删除帖子。管理员首先是进入用户首页,然后点击管理员登录,如果管理员已在登录状态,那么页面跳转到管理员管理界面,如图5所示。与用户的主页相比,最大的不同点就是管理员对所有已发表的帖子有删除的权限。删除部分关键程序如下。
①网页程序:
2)管理员浏览帖子/删除评论。管理员同样可以像用户一样通过点击主题超链接查看相关帖子内容。与用户浏览界面的不同之处是管理员界面有删除按钮,如图6所示,可以删除用户的评论内容。删除评论内容的部分程序如下。 ①网页程序: ②后台程序: string cmdtext = ″delete from [recontent] where re_content= ′″ +Session [″lbrecontent″] .ToString() + ″′ and re_username =′″ + Session[″lbreuser″].ToString() + ″′ and re_date=′″ + Session [″lbdate″] + ″′″; //刪除该帖用户评论内容命令字符串 SqlCommand sqlcmd = new SqlCommand(cmdtext, conn); sqlcmd.ExecuteNonQuery(); //执行删除评论帖子内容命令 conn.Close(); ScriptManager.RegisterStartupScript(this, this.GetType(), "alert", "alert('删除成功!');window.location='manager_infor mation.aspx'", true); //弹窗提示删除成功 3)管理员回复帖子。管理员与用户相同,也具有回复帖子的权限,在浏览帖子内容时点击评论按钮,跳到评论文本框进行帖子回复。回复帖子部分程序与用户回复的程序基本一致,在此不再赘述。 4 结语 本文基于Visual Studio 2010开发环境,通过C#编程语言,利用ASP.NET技术以及SQL Sever 2008数据库的连接、查询、更新、删除等技术,开发机械CAD/CAM精品课程网站系统课程论坛模块,实现用户(学生)浏览已发表帖子、回复帖子、发表新帖的要求,以及管理员(教师)浏览所发布内容、回复帖子、删除用户所发表或回复的不当内容等功能,满足师生交流讨论的基本要求。 参考文献 [1]柳礼泉,丁蕾.精品课程和国家精品课程建设研究综述[J].大学教育科学,2010(5):34-37. [2]杨鲲鹏,孟凡琦,温才燚.ASP.NET+SQL Sever动态网站开发从基础到实践[M].北京:电子工业出版社,2013:73-92. [3]明日科技.SQL Server从入门到精通[M].北京:清华大学出版社,2015:6-10. [4]王显宇.移动通讯时代的网页制作新标准:HTML5 CSS3[J].电脑知识与技术,2014(18):4147-4148. [5]国光友,王文利,余运英.网络教育中学习论坛的设计与开发[J].河北大学学报:哲学社会科学版,2008(5):124-130.