新闻网站_asp_net课程设计报告

  • 格式:doc
  • 大小:997.00 KB
  • 文档页数:38

河南中医学院《课程设计报告》所在院系:信息技术学院专业年级:2013级计算机科学与技术完成学生:2013180106 曽涛指导教师:曹莉课程设计报告-新闻网站目录1.需求分析 (3)1.1网站功能分析: (3)1.2前台显示 (3)1.2.1新闻主页 (3)1.2.2新闻分类栏目页 (4)1.2.3新闻内容页 (4)1.2.4会员注册/登录页 (4)2.总体设计 (5)2.1新闻网站的数据库设计 (5)2.2数据库操作的简化方案 (5)2.3后台页面的设计 (6)2.4前台页面的设计 (6)3.详细设计 (7)3.1数据库设计 (7)3.1.1Admin表 (7)3.1.2AdminGrader表 (7)3.1.3FriendLink表 (8)3.1.4News表 (8)3.1.5Newcategroy表 (8)3.1.6UserInfo表 (9)3.1.7UserLogin表 (9)3.1.8UserReview表 (9)3.2后台管理页面详情 (10)3.3前台页面详情 (11)4.代码编写 (13)4.1创建的SqlHelper类 (13)5.网站测试 (22)6.报告总结与收获 (25)1.需求分析1.1网站功能分析:新闻网站的功能包括后台新闻的录入,编辑,审核,新闻的发布,用户名的注册,最新消息显示在网页顶端等,网站会员的管理,系统管理员的管理等功能;前台的新闻浏览,会员的注册登录,以及对新闻的评论等功能.1.2前台显示前台的页面显示部分,一般有3页组成,及新闻主页.新闻栏目页和新闻内容页.新闻主页用于显示新闻列表,这样有利于浏览者选择感兴趣的新闻,新闻栏目页帮助浏览者查找某类新闻,内容页用于显示某个单条新闻.1.2.1新闻主页(1)显示所有新闻分类(2)按新闻分类显示其下最新几条新闻(3)显示最新的前几条新闻(4)显示最热门的前几条新闻(5)网站友情链接(6)登录.注册链接(7)后台管理链接1.2.2新闻分类栏目页(1)按新闻分类显示其下的所有新闻(2)显示最新的前几条新闻(3)显示最热门的前几条新闻1.2.3新闻内容页(1)显示新闻的详细内容(2)显示该新闻的网友评论,设置为登录会员可以评论(3)显示最新的前几条新闻1.2.4会员注册/登录页当浏览者想要了解更多的新闻或者参加评论时,他需要注册才能实现这些功能。

读者在前台注册以后,管理员可以看到其信息,可以看是否符合要求,如不可以的话可以不同意。

在登录的时候,需要正确的输入验证码才可以。

2.总体设计2.1新闻网站的数据库设计2.2数据库操作的简化方案(1) 配置web.config数据库(newsDB)新闻分类表新闻表会员表会员登记表 会员评论表管理员表管理员级别表友情连接表2.3后台页面的设计2.4前台页面的设计后台页面后台主页模板页后台登录页后台管理员的添加/编辑新闻页添加/编辑前台页面前台新闻模板页新闻首页新闻内容页新闻栏目页3.详细设计3.1数据库设计3.1.1Admin表3.1.2AdminGrader表3.1.4News表3.1.5Newcategroy表3.1.7UserLogin表3.1.8UserReview表3.2后台管理页面详情3.3前台页面详情4.代码编写4.1创建的SqlHelper类public static int GetExecuteNonQuery(string sqlStr, params SqlParameter[] values) {OpenConnection();mandType = CommandType.Text;mandText = sqlStr;cmd.Parameters.AddRange(values);//添加参数集int result = cmd.ExecuteNonQuery();CloseConnection();cmd.Parameters.Clear();return result;public static object GetExecuteScalar(string sqlStr){OpenConnection();mandType = CommandType.Text;mandText = sqlStr;object result = cmd.ExecuteScalar();//执行SQL语句CloseConnection();return result;//返回获得的单个值}public static object GetExecuteScalar(string sqlStr, params SqlParameter[] values){OpenConnection();mandType = CommandType.Text;mandText = sqlStr;cmd.Parameters.Clear();cmd.Parameters.AddRange(values);object result = cmd.ExecuteScalar();CloseConnection();cmd.Parameters.Clear();return result;public static SqlDataReader GetExecuteReader(string sqlStr){OpenConnection();mandType = CommandType.Text;mandText = sqlStr;SqlDataReader reader = cmd.ExecuteReader();//这里不能关闭连接CloseConnection(),要在调用中关闭return reader;}public static SqlDataReader GetDataReader(string sqlStr, params SqlParameter[] values){OpenConnection();mandType = CommandType.Text;mandText = sqlStr;cmd.Parameters.AddRange(values);SqlDataReader reader = cmd.ExecuteReader();//这里不能关闭连接CloseConnection(),要在调用中关闭cmd.Parameters.Clear();return reader;}public static DataSet GetDataSet(string sqlStr){SqlDataAdapter da = new SqlDataAdapter();OpenConnection();mandType = CommandType.Text;mandText = sqlStr;da.SelectCommand = cmd;DataSet ds = new DataSet();da.Fill(ds);CloseConnection();return ds;//返回DataSet对象}public static DataSet GetDataSet(string sqlStr, params SqlParameter[] values) {SqlDataAdapter da = new SqlDataAdapter();OpenConnection();mandType = CommandType.Text;mandText = sqlStr;cmd.Parameters.AddRange(values);da.SelectCommand = cmd;DataSet ds = new DataSet();da.Fill(ds);CloseConnection();cmd.Parameters.Clear();return ds;//返回DataSet对象}public static DataSet GetDataSet(string sqlStr, string tableName) {SqlDataAdapter da = new SqlDataAdapter();OpenConnection();mandType = CommandType.Text;mandText = sqlStr;da.SelectCommand = cmd;DataSet ds = new DataSet();da.Fill(ds, tableName);CloseConnection();return ds;//返回DataSet对象}public static DataTable GetDataTable(String sqlStr){OpenConnection();mandType = CommandType.Text;mandText = sqlStr;DataTable dt = new DataTable();//创建一个数据表dtSqlDataAdapter da = new SqlDataAdapter(cmd);//定义并初始化数据适配器da.Fill(dt);//将数据适配器中的数据填充到数据集dt中CloseConnection();return dt;}public static DataTable GetDataTable(string sqlStr, params SqlParameter[] values) {OpenConnection();mandType = CommandType.Text;mandText = sqlStr;cmd.Parameters.AddRange(values);DataSet ds = new DataSet();SqlDataAdapter da = new SqlDataAdapter(cmd);da.Fill(ds);CloseConnection();cmd.Parameters.Clear();return ds.Tables[0];}public static DataView GetDataView(string sqlStr){SqlDataAdapter da = new SqlDataAdapter();DataView dv = new DataView();DataSet ds = new DataSet();OpenConnection();mandType = CommandType.Text;mandText = sqlStr;da.SelectCommand = cmd;da.Fill(ds);dv = ds.Tables[0].DefaultView;CloseConnection();return dv;}public static void GetAlert(string message, Page page) //显示对话框{page.ClientScript.RegisterStartupScript(page.GetType(), "","<script language='javascript' type='text/javascript'>alert('" + message + "')</script>", false);}public static void Alert(string message, Page page) //显示对话框{page.Response.Write("<script language='javascript'type='text/javascript'>function window.onload() {alert('" + message + "');}</script>");}public static void MsgBox(string message, Page page) //显示对话框{String csname = "PopupScript";//定义客户端脚本的名Type cstype = page.GetType();//定义客户端脚本的类型ClientScriptManager cs = page.ClientScript;//创建一个ClientScriptManager类if (!cs.IsStartupScriptRegistered(cstype, csname))//如果脚本没有注册{String cstext = "alert('" + page.Server.HtmlEncode(message) + "');";cs.RegisterStartupScript(cstype, csname, cstext, true);}}public static void MsgBox(string message, string url, Page page){ClientScriptManager cs = page.ClientScript;//创建一个ClientScriptManager类String csname = "PopupScript";//定义客户端脚本的名Type cstype = page.GetType();//定义客户端脚本的类型if (!cs.IsStartupScriptRegistered(cstype, csname))//如果脚本没有注册{String cstext = "alert('" + page.Server.HtmlEncode(message) + "');window.location='" + url + "';";cs.RegisterStartupScript(cstype, csname, cstext, true);}}public void AlertBox(string message, string url){System.Web.HttpContext.Current.Response.Write("<script>alert('" + message + "');location.href('" + url + "')</script>");}public static void CClose(Page page){//Get a ClientScriptManager reference from the Page classClientScriptManager cs = page.ClientScript;//Define the name and Type of the client script on the pageString csname = "close";Type cstype = page.GetType();// builder the script textStringBuilder cstext = new StringBuilder();cstext.Append("<script language='javascript'>");cstext.Append("{window.opener='anyone';window.close();}");cstext.Append("</script>");//Check to see if the startup script is already registeredif (!cs.IsClientScriptBlockRegistered(cstype, csname)){cs.RegisterStartupScript(cstype, csname, cstext.ToString());}}//或int i = SqlHelper.GetExecuteNonQuery(sqlStr);public static int GetExecuteNonQuery(string sqlStr){OpenConnection();//打开连接mandType = CommandType.Text;//定义为使用SQL语句mandText = sqlStr;//初始化Command对象的SQL字符串int result = cmd.ExecuteNonQuery();//执行SQL语句并返回受影响的行数CloseConnection();//关闭连接return result;//返回整数}public static int GetExecuteNonQuery(string sqlStr, params SqlParameter[] values) {OpenConnection();mandType = CommandType.Text;mandText = sqlStr;cmd.Parameters.AddRange(values);//添加参数集int result = cmd.ExecuteNonQuery();CloseConnection();cmd.Parameters.Clear();return result;}public static object GetExecuteScalar(string sqlStr){OpenConnection();mandType = CommandType.Text;mandText = sqlStr;object result = cmd.ExecuteScalar();//执行SQL语句CloseConnection();return result;//返回获得的单个值}public static object GetExecuteScalar(string sqlStr, params SqlParameter[] values) {OpenConnection();mandType = CommandType.Text;mandText = sqlStr;cmd.Parameters.Clear();cmd.Parameters.AddRange(values);object result = cmd.ExecuteScalar();CloseConnection();cmd.Parameters.Clear();return result;}public static SqlDataReader GetExecuteReader(string sqlStr){OpenConnection();mandType = CommandType.Text;mandText = sqlStr;SqlDataReader reader = cmd.ExecuteReader();//这里不能关闭连接CloseConnection(),要在调用中关闭return reader;}public static SqlDataReader GetDataReader(string sqlStr, params SqlParameter[] values) {OpenConnection();mandType = CommandType.Text;mandText = sqlStr;cmd.Parameters.AddRange(values);SqlDataReader reader = cmd.ExecuteReader();//这里不能关闭连接CloseConnection(),要在调用中关闭cmd.Parameters.Clear();return reader;}public static DataSet GetDataSet(string sqlStr){SqlDataAdapter da = new SqlDataAdapter();OpenConnection();mandType = CommandType.Text;mandText = sqlStr;da.SelectCommand = cmd;DataSet ds = new DataSet();da.Fill(ds);CloseConnection();return ds;//返回DataSet对象}public static DataSet GetDataSet(string sqlStr, params SqlParameter[] values) {SqlDataAdapter da = new SqlDataAdapter();OpenConnection();mandType = CommandType.Text;mandText = sqlStr;cmd.Parameters.AddRange(values);da.SelectCommand = cmd;DataSet ds = new DataSet();da.Fill(ds);CloseConnection();cmd.Parameters.Clear();return ds;//返回DataSet对象}public static DataSet GetDataSet(string sqlStr, string tableName){SqlDataAdapter da = new SqlDataAdapter();OpenConnection();mandType = CommandType.Text;mandText = sqlStr;da.SelectCommand = cmd;DataSet ds = new DataSet();da.Fill(ds, tableName);CloseConnection();return ds;//返回DataSet对象}public static DataTable GetDataTable(String sqlStr){OpenConnection();mandType = CommandType.Text;mandText = sqlStr;DataTable dt = new DataTable();//创建一个数据表dtSqlDataAdapter da = new SqlDataAdapter(cmd);//定义并初始化数据适配器da.Fill(dt);//将数据适配器中的数据填充到数据集dt中CloseConnection();return dt;}public static DataTable GetDataTable(string sqlStr, params SqlParameter[] values) {OpenConnection();mandType = CommandType.Text;mandText = sqlStr;cmd.Parameters.AddRange(values);DataSet ds = new DataSet();SqlDataAdapter da = new SqlDataAdapter(cmd);da.Fill(ds);CloseConnection();cmd.Parameters.Clear();return ds.Tables[0];}public static DataView GetDataView(string sqlStr){SqlDataAdapter da = new SqlDataAdapter();DataView dv = new DataView();DataSet ds = new DataSet();OpenConnection();mandType = CommandType.Text;mandText = sqlStr;da.SelectCommand = cmd;da.Fill(ds);dv = ds.Tables[0].DefaultView;CloseConnection();return dv;}public static void GetAlert(string message, Page page) //显示对话框{page.ClientScript.RegisterStartupScript(page.GetType(), "","<script language='javascript' type='text/javascript'>alert('" + message + "')</script>", false);}public static void Alert(string message, Page page) //显示对话框{page.Response.Write("<script language='javascript'type='text/javascript'>function window.onload() {alert('" + message + "');}</script>");}//调用方法:SqlHelper.Alert("您已经被禁止登录,请关闭本页后稍后再登录!", Page);///<summary>///警告窗口,服务器端弹出alert对话框,弹出对话框而不丢失背景///</summary>///<param name="message">提示信息,例子:"不能为空!"</param>///<param name="page">Page类</param>public static void MsgBox(string message, Page page) //显示对话框{String csname = "PopupScript";//定义客户端脚本的名Type cstype = page.GetType();//定义客户端脚本的类型ClientScriptManager cs = page.ClientScript;//创建一个ClientScriptManager类if (!cs.IsStartupScriptRegistered(cstype, csname))//如果脚本没有注册{String cstext = "alert('" + page.Server.HtmlEncode(message) + "');";cs.RegisterStartupScript(cstype, csname, cstext, true);}}public static void MsgBox(string message, string url, Page page){ClientScriptManager cs = page.ClientScript;//创建一个ClientScriptManager类String csname = "PopupScript";//定义客户端脚本的名Type cstype = page.GetType();//定义客户端脚本的类型if (!cs.IsStartupScriptRegistered(cstype, csname))//如果脚本没有注册{String cstext = "alert('" + page.Server.HtmlEncode(message) + "');window.location='" + url + "';";cs.RegisterStartupScript(cstype, csname, cstext, true);}}public void AlertBox(string message, string url){System.Web.HttpContext.Current.Response.Write("<script>alert('" + message + "');location.href('" + url + "')</script>");}public static void CClose(Page page){//Get a ClientScriptManager reference from the Page classClientScriptManager cs = page.ClientScript;//Define the name and Type of the client script on the pageString csname = "close";Type cstype = page.GetType();// builder the script textStringBuilder cstext = new StringBuilder();cstext.Append("<script language='javascript'>");cstext.Append("{window.opener='anyone';window.close();}");cstext.Append("</script>");//Check to see if the startup script is already registeredif (!cs.IsClientScriptBlockRegistered(cstype, csname)){cs.RegisterStartupScript(cstype, csname, cstext.ToString());}}}其他页面代码见news文件夹5.网站测试测试前台首页如下所示:在IE浏览器测试前台效果如下发布在iis之后前台网页界面均正常,效果如下:前台用户登录注册界面:注册:后台管理登录界面:6.报告总结与收获通过此次课程设计,我知道了自己还有很多东西没有学到,大学四年白白浪费了,学习是需要自制力的事情,没有任何人能够帮你。