新闻网站-计算机科学与技术ASP NET课程设计报告
xx中医药大学计算机科学与技术课程设计
xx中医学院
《ASP.NET课程设计报告》
所在院系: 信息技术学院 专业年级: 20xx级 计算机科学与技术 完成学生: xxx xx 指导教师:xx
2
xx中医药大学计算机科学与技术课程设计
ASP.NET课程设计报告-新闻网站
目录
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
xx中医药大学计算机科学与技术课程设计
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网站功能分析:
新闻网站的功能包括后台新闻的录入,编辑,审核,新闻的发布,用户名的注册,最新消息显示在网页顶端等,网站会员的管理,系统管理员的管理等功能;前台的新闻浏览,会员的注册登录,以及对新闻的评论等功能.
4
xx中医药大学计算机科学与技术课程设计
1.2前台显示
前台的页面显示部分,一般有3页组成,及新闻主页.新闻栏目页和新闻内容页.新闻主页用于显示新闻列表,这样有利于浏览者选择感兴趣的新闻,新闻栏目页帮助浏览者查找某类新闻,内容页用于显示某个单条新闻.
1.2.1新闻主页
(1)显示所有新闻分类
(2)按新闻分类显示其下最新几条新闻 (3)显示最新的前几条新闻 (4)显示最热门的前几条新闻 (5)网站友情链接 (6)登录.注册链接 (7)后台管理链接
1.2.2新闻分类栏目页
(1)按新闻分类显示其下的所有新闻 (2)显示最新的前几条新闻 (3)显示最热门的前几条新闻
1.2.3新闻内容页
(1)显示新闻的详细内容
5
xx中医药大学计算机科学与技术课程设计
(2)显示该新闻的网友评论,设置为登录会员可以评论 (3)显示最新的前几条新闻
1.2.4会员注册/登录页
当浏览者想要了解更多的新闻或者参加评论时,他需要注册才能实现这些功能。读者在前台注册以后,管理员可以看到其信息,可以看是否符合要求,如不可以的话可以不同意。在登录的时候,需要正确的输入验证码才可以。
6
xx中医药大学计算机科学与技术课程设计
2.总体设计
2.1新闻网站的数据库设计
数据库新闻分类新闻表会员会员记会员评论管理员表 管理员级友情连接 2.2数据库操作的简化方案
(1) 配置web.config
表 登
7
xx中医药大学计算机科学与技术课程设计
2.3后台页面的设计
后台页面 后台主页模板后台登录页后台管理员的新闻页添加/ 8
2.4前台页面的设计
前台页面 前台新闻模板新闻首页新闻内容页新闻栏目页
xx中医药大学计算机科学与技术课程设计
3.详细设计
3.1数据库设计
3.1.1Admin表
3.1.2AdminGrader表
9
xx中医药大学计算机科学与技术课程设计
3.1.3FriendLink表
3.1.4News表
3.1.5Newcategroy表
10
xx中医药大学计算机科学与技术课程设计
3.1.6UserInfo表
3.1.7UserLogin表
3.1.8UserReview表
3.2后台管理页面详情
11
xx中医药大学计算机科学与技术课程设计
12
xx中医药大学计算机科学与技术课程设计
13
xx中医药大学计算机科学与技术课程设计
3.3前台页面详情
14
xx中医药大学计算机科学与技术课程设计
15
xx中医药大学计算机科学与技术课程设计
4.代码编写
4.1创建的SqlHelper类
public static int
GetExecuteNonQuery(string sqlStr, params SqlParameter[] values) {
OpenConnection(); cmd.CommandType = CommandType.Text;
cmd.CommandText = sqlStr;
cmd.Parameters.AddRange(values);//添加参
16
xx中医药大学计算机科学与技术课程设计
数集
int result = cmd.ExecuteNonQuery(); CloseConnection(); cmd.Parameters.Clear(); return result; }
public static object GetExecuteScalar(string sqlStr) {
OpenConnection(); cmd.CommandType = CommandType.Text;
cmd.CommandText = sqlStr; object result =
cmd.ExecuteScalar();//执行SQL语句 CloseConnection();
return result;//返回获得的单个值 }
public static object
GetExecuteScalar(string sqlStr, params SqlParameter[] values)
17
xx中医药大学计算机科学与技术课程设计
{
OpenConnection(); cmd.CommandType = CommandType.Text;
cmd.CommandText = 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(); cmd.CommandType = CommandType.Text;
cmd.CommandText = sqlStr; SqlDataReader reader = cmd.ExecuteReader();
18
xx中医药大学计算机科学与技术课程设计
//这里不能关闭连接
CloseConnection(),要在调用中关闭 return reader; }
public static SqlDataReader GetDataReader(string sqlStr, params SqlParameter[] values) {
OpenConnection(); cmd.CommandType = CommandType.Text;
cmd.CommandText = sqlStr; cmd.Parameters.AddRange(values); SqlDataReader reader = cmd.ExecuteReader(); //这里不能关闭连接
CloseConnection(),要在调用中关闭 cmd.Parameters.Clear(); return reader; }
public static DataSet GetDataSet(string sqlStr)
19
xx中医药大学计算机科学与技术课程设计
{
SqlDataAdapter da = new SqlDataAdapter();
OpenConnection(); cmd.CommandType = CommandType.Text;
cmd.CommandText = 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(); cmd.CommandType = CommandType.Text;
20
xx中医药大学计算机科学与技术课程设计
cmd.CommandText = 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(); cmd.CommandType = CommandType.Text;
cmd.CommandText = sqlStr; da.SelectCommand = cmd; DataSet ds = new DataSet(); da.Fill(ds, tableName);
21
xx中医药大学计算机科学与技术课程设计
CloseConnection();
return ds;//返回DataSet对象 }
public static DataTable GetDataTable(String sqlStr) {
OpenConnection(); cmd.CommandType = CommandType.Text;
cmd.CommandText = sqlStr; DataTable dt = new DataTable();//创建一个数据表dt
SqlDataAdapter da = new
SqlDataAdapter(cmd);//定义并初始化数据适配器
da.Fill(dt);//将数据适配器中的数据填充到数据集dt中
CloseConnection(); return dt; }
public static DataTable GetDataTable(string sqlStr, params
22
xx中医药大学计算机科学与技术课程设计
SqlParameter[] values) {
OpenConnection(); cmd.CommandType = CommandType.Text;
cmd.CommandText = 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();
23
xx中医药大学计算机科学与技术课程设计
OpenConnection(); cmd.CommandType = CommandType.Text;
cmd.CommandText = 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(), \"\",
\"\", false); }
public static void Alert(string message, Page page) //显示对话框
24
xx中医药大学计算机科学与技术课程设计
{
page.Response.Write(\"\"); }
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('\" +
25
xx中医药大学计算机科学与技术课程设计
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) +
26
xx中医药大学计算机科学与技术课程设计
\"');window.location='\" + url + \"';\";
cs.RegisterStartupScript(cstype, csname, cstext, true); } }
public void AlertBox(string message, string url) {
System.Web.HttpContext.Current.Response.Write(\"\"); }
public static void CClose(Page page) {
//Get a ClientScriptManager reference from the Page class ClientScriptManager cs = page.ClientScript;
//Define the name and Type of the
27
xx中医药大学计算机科学与技术课程设计
client script on the page String csname = \"close\"; Type cstype = page.GetType(); // builder the script text StringBuilder cstext = new StringBuilder();
cstext.Append(\"\"); //Check to see if the startup script is already registered if
(!cs.IsClientScriptBlockRegistered(cstype, csname)) {
cs.RegisterStartupScript(cstype, csname, cstext.ToString()); }
28
xx中医药大学计算机科学与技术课程设计
} //或int i =
SqlHelper.GetExecuteNonQuery(sqlStr); public static int
GetExecuteNonQuery(string sqlStr) {
OpenConnection();//打开连接 cmd.CommandType =
CommandType.Text;//定义为使用SQL语句 cmd.CommandText = sqlStr;//初始化Command对象的SQL字符串 int result =
cmd.ExecuteNonQuery();//执行SQL语句并返回受影响的行数
CloseConnection();//关闭连接 return result;//返回整数
} public static int
GetExecuteNonQuery(string sqlStr, params SqlParameter[] values) {
OpenConnection();
29
xx中医药大学计算机科学与技术课程设计
cmd.CommandType = CommandType.Text;
cmd.CommandText = sqlStr;
cmd.Parameters.AddRange(values);//添加参数集
int result = cmd.ExecuteNonQuery(); CloseConnection(); cmd.Parameters.Clear(); return result; }
public static object GetExecuteScalar(string sqlStr) {
OpenConnection(); cmd.CommandType = CommandType.Text;
cmd.CommandText = sqlStr; object result =
30
xx中医药大学计算机科学与技术课程设计
cmd.ExecuteScalar();//执行SQL语句 CloseConnection();
return result;//返回获得的单个值 }
public static object
GetExecuteScalar(string sqlStr, params SqlParameter[] values) {
OpenConnection(); cmd.CommandType = CommandType.Text;
cmd.CommandText = sqlStr; cmd.Parameters.Clear();
cmd.Parameters.AddRange(values); object result = cmd.ExecuteScalar(); CloseConnection(); cmd.Parameters.Clear(); return result;
}
public static SqlDataReader GetExecuteReader(string sqlStr)
31
xx中医药大学计算机科学与技术课程设计
{
OpenConnection(); cmd.CommandType = CommandType.Text;
cmd.CommandText = sqlStr; SqlDataReader reader = cmd.ExecuteReader(); //这里不能关闭连接
CloseConnection(),要在调用中关闭 return reader; }
public static SqlDataReader
GetDataReader(string sqlStr, params SqlParameter[] values) {
OpenConnection(); cmd.CommandType = CommandType.Text;
cmd.CommandText = sqlStr; cmd.Parameters.AddRange(values); SqlDataReader reader = cmd.ExecuteReader();
32
xx中医药大学计算机科学与技术课程设计
//这里不能关闭连接
CloseConnection(),要在调用中关闭 cmd.Parameters.Clear(); return reader;
}
public static DataSet GetDataSet(string sqlStr) {
SqlDataAdapter da = new SqlDataAdapter();
OpenConnection(); cmd.CommandType = CommandType.Text;
cmd.CommandText = sqlStr; da.SelectCommand = cmd; DataSet ds = new DataSet(); da.Fill(ds); CloseConnection();
return ds;//返回DataSet对象
}
public static DataSet GetDataSet(string sqlStr, params SqlParameter[] values)
33
xx中医药大学计算机科学与技术课程设计
{
SqlDataAdapter da = new SqlDataAdapter();
OpenConnection(); cmd.CommandType = CommandType.Text;
cmd.CommandText = 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(); cmd.CommandType =
34
xx中医药大学计算机科学与技术课程设计
CommandType.Text;
cmd.CommandText = sqlStr; da.SelectCommand = cmd; DataSet ds = new DataSet(); da.Fill(ds, tableName); CloseConnection();
return ds;//返回DataSet对象
}
public static DataTable GetDataTable(String sqlStr) {
OpenConnection(); cmd.CommandType = CommandType.Text;
cmd.CommandText = sqlStr; DataTable dt = new DataTable();//创建一个数据表dt
SqlDataAdapter da = new
SqlDataAdapter(cmd);//定义并初始化数据适配器
da.Fill(dt);//将数据适配器中的数据填充到数据集dt中
35
xx中医药大学计算机科学与技术课程设计
CloseConnection(); return dt;
}
public static DataTable
GetDataTable(string sqlStr, params SqlParameter[] values) {
OpenConnection(); cmd.CommandType = CommandType.Text;
cmd.CommandText = 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)
36
xx中医药大学计算机科学与技术课程设计
{
SqlDataAdapter da = new SqlDataAdapter();
DataView dv = new DataView(); DataSet ds = new DataSet(); OpenConnection(); cmd.CommandType = CommandType.Text;
cmd.CommandText = 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(), \"\",
\"\", false);
}
public static void Alert(string message, Page page) //显示对话框 {
page.Response.Write(\"\"); }
//调用方法:SqlHelper.Alert(\"您已经被禁止登录,请关闭本页后稍后再登录!\Page);
/// /// 警告窗口,服务器端弹出alert对话框,弹出对话框而不丢失背景 ///
/// 提示信息,例子:\"不能为空!\"
/// Page类 public static void MsgBox(string
38
xx中医药大学计算机科学与技术课程设计
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)
39
xx中医药大学计算机科学与技术课程设计
{
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)
40
xx中医药大学计算机科学与技术课程设计
{
System.Web.HttpContext.Current.Response.Write(\"\");
}
public static void CClose(Page page) {
//Get a ClientScriptManager reference from the Page class ClientScriptManager cs = page.ClientScript;
//Define the name and Type of the client script on the page String csname = \"close\"; Type cstype = page.GetType(); // builder the script text StringBuilder cstext = new StringBuilder();
cstext.Append(\"\"); //Check to see if the startup script is already registered if
(!cs.IsClientScriptBlockRegistered(cstype, csname)) {
cs.RegisterStartupScript(cstype, csname, cstext.ToString()); }
} }
其他页面代码见news文件夹
5.网站测试
测试前台首页如下所示:
42
xx中医药大学计算机科学与技术课程设计
在IE浏览器测试前台效果如下
发布在iis之后前台网页界面均正常,效果如下:
43
xx中医药大学计算机科学与技术课程设计
问题总结:不同浏览器支持页面元素存在差异。 前台用户登录注册界面:
注册:
44
xx中医药大学计算机科学与技术课程设计
后台管理登录界面:
6.报告总结与收获
通过此次课程设计,我知道了自己还有很多东西没有学到,大学四年白白浪费了,学习是需要自制力的事情,没有任何人能够帮你。而且
45
xx中医药大学计算机科学与技术课程设计
开发动态网站需要有深厚的编程能力,掌握数据库和制作前端页面的能力,掌握数据绑定。同时,要熟练使用sql语句,对数据进行增删改查操作,同时掌握分页技术。在这次制作网站的过程中,我遇到了数据库与vs不能连接在一起的问题 ,如下所示:
在网上找资料查看和在同学的帮助下,我终于解决了这个问题,即感到很高兴,但也为自己的无知感到惭愧,制作这个网站的过程中,一
46
xx中医药大学计算机科学与技术课程设计
路跌跌撞撞,网站也弄得不是很全面,希望老师给予谅解,我今后也会更加努力学习,毕竟人生能有几回搏,今日不搏何时搏。
47
因篇幅问题不能全部显示,请点此查看更多更全内容