毕业论文个人博客的设计与实现

本科毕业设计(论文)

题 目: 个人博客的设计与实现

学生姓名: 学号:系(部): 数学与计算机科学 专业:计算机科学与技术 入学时间: 201 年 月 导师姓名: 职称/学位: 导师所在单位:

个人博客的设计与实现

摘 要

个人博客相对于现实生存空间更具有随意性,也逐步成为人们感情宣泄、人际交流的重要工具;在这个生活节奏越来越快,个人隐私越来越透明的社会中,拥有一个完全属于自己并能畅所欲言的博客实在是一种奢侈;因此个人博客就应运而生了。

随着网络技术的发展和网站安全性的提高,个人博客的保密性也在提升,人们可以在自己的博客里面发表日志、撰写博文、上传相片、分享生活等。个人博客以其简单、时尚而备受年轻人的青睐。可以说,个人博客对于现代人的生活质量具有很普遍的提高意义。该系统以ASP.NET 为开发技术,使用C#为开发语言,采用Visual Studio2008和SQL2005数据库两层架构模式同时采用MVC 开发模式,实现Blog 网站的动态管理,使得对Blog 信息的管理更加及时、高效,提高了工作效率。

关键词: 博客;ASP ;SQL ;Dreamweaver

Personal Blog Are Designed And Realized

Abstract

Personal blog as opposed to the reality of living space is more arbitrary, has also gradually become the people emotional catharsis, an important tool for interpersonal communication; in this increasingly fast pace of life, personal privacy is increasingly transparent society, with a completely their own and can say what the blog is really a luxury; personal blog came into being.

The system to ASP.NET development techniques, using C # development language, Visual Studio2008 and the SQL 2005 database two-tier architecture model while using the MVC development model, the dynamic management of the Blog Site, Blog information management in a more timely and efficient to improve the work efficiency.

Key words:Personal blog; ASP; SQL;Dreamweaver

目 录

第一章 引言 ............................................................... 1

1.1课题研究的意义 ..................................................... 1 1.2个人博客的现状 ..................................................... 1 1.3个人博客功能描述 ................................................... 1 第二章 BOLG的系统分析 .................................................... 2

2.1系统需求分析 ...................................................... 2 2.2 系统流程图 . ........................................................ 2 第三章 系统开发 ........................................................... 3

3.1 数据库E-R 图 ..................................................... 3 3.2数据库对象 ......................................................... 3 3.3系统界面 ........................................................... 5

3.3.1. 用户注册页面 ................................................. 5 3.3.2. 日志添加页面 ................................................. 6 3.3.3. 个人管理页面 ................................................. 6 3.3.4.相册页面 .................................................... 7 3.3.5. 日志页面 ..................................................... 7 3.3.6.留言页面 .................................................... 8

第四章 博客各项目的功能与实现 ............................................. 9

4.1 博客各项目的功能 .................................................. 9 4.2用户登录实现 ....................................................... 9 第五章 总 结 ............................................................. 15 参考文献 ................................................................. 16 致 谢 ................................................................. 17

个人博客的设计与实现

第一章 引言

个人博客是当今网络上的热点,它以其独有的个性、方便而广泛应用;无论是聊天工具,还是博客系统,甚至于企业公告等都或多或少地将其运用成为交流的重要手段。 1.1课题研究的意义

在Internet 飞速发展的今天,互联网成为人们快速获取,发布和传递信息的重要渠道。 它在人们政治、经济、生活等各个方面发挥着重要的作用。Internet 上发布信息主要是通过网站来实现的,获取信息也是要在Internet 中按照一定的检索方式将所需要的信息从网站上下载下来。因此网站建设在Internet 应用上的地位显而易见它已成为政府,企事业单位信息化建设中的重要组成部分,从而倍受人们的重视。根据个人喜欢开发了博客网站。

1.2个人博客的现状

个人博客发展的情况,现今,博客网站已经由06年的风风火火变的平淡,通过各种方式融入了我们的生活。成为了我们表现自己的主要方式。它们大部分是由简短而且经常更新的帖子构成,所有文章都是按照年份和日期排列。看上去平淡无奇,毫无可炫耀之处,但它让每个人零成本、零维护地创建自己的网络媒体,每个都可以随时把自己的思想火花和灵感更新到博客站点上。 在近二千万的中国博客用户中,每个用户平均每7.6天更新一次博客,活跃的博客用户数,一周内有更新的博客达到302万。约15.2%的用户每周更新博客 同时 只有大约4.6%的用户每天更新博客。在用户更新的博客中 约42%的博客文章在500个汉字到1000个字节之内, 1000~2000个字节的博客文章占约16.5%。越是长篇大论的文章在博客中所占比例则越少。 个人博客目前面临的主要问题,由于文化市场监督的不利,势必会造成一些淫秽的内容广泛传播于网路,这就需要文化部门的有力监督。

1.3个人博客功能描述

个人博客采用ASP.NET 与SQL Server相结合的技术,使用户能够:记录个人生活:如同日记一般,可将自己每日生活中发生的事情记录下来。表达个人思想:它可依照个人自由意志去撰写内容,传达个人的自由思想。分享个人心情:把生活中的不满、郁闷或愤怒宣泄到博客上。

第二章 BOLG的系统分析

2.1系统需求分析

(1)前台主要功能要求。

通过对个人博客的典型业务调查分析可以得到个人博客前台用户的主要功能包括: 允许用户查看所有的日志及图片;

访问者可以查看日志文章、图片及用户信息; 访问者可以查看文章评论,并能够发表新的评论; 允许用户装扮自己的个人空间; 允许用户播放音乐、转载和分享视频。 (2)后台主要功能要求。

通过对个人博客的典型业务调查分析可以得到个人博客后台用户的主要功能包括: 可以查看和修改用户的个人资料;

可以对日志进行增加、修改、删除以及日志的分类管理; 可以对图片进行上传、删除及修改; 可以对评论进行分类管理。

2.2 系统流程图

第三章 系统开发

3.1 数据库E-R 图

系统开发过程中,数据库设计占有重要的地位。数据库设计的原则是根据系统的整体需求而定的。通过对本网站进行的需求分析、网站流程分析,以及系统功能结构的确定,规

划出系统中使用的数据库实体对象。通过整理,画出部分数据库实体的概念模型图。

3.2数据库对象

1)用户表(Register)

3

3.3系统界面

3.3.1.用户注册页面

不是本网站的用户,可以通过登录页面的注册新用户链接进入到注册页面,注册成功的用户,便可拥有自己的个人空间。见图1

图1:注册页面

3.3.2. 日志添加页面

3.3.3. 个人管理页面

3.3.4.相册页面

3.3.5. 日志页面

3.3.6.留言页面

第四章 博客各项目的功能与实现

4.1 博客各项目的功能

(1) 用户登录的功能

根据客户进入用户登录的界面,可以注册自己的信息,注册一个属于个人的账户,完成初始进入博客的允许权。

(2)日志发表界面的功能

博客首页上登录博客后,在个人模块可点击“写日志”进入写日志页面;进入博客后,鼠标指向到左上角的快捷工具栏提示图标,可快速调用工具栏,点击工具栏中的“写日志”,也进入写日志页面;可在个人博客中,点击标题栏的“写日志”,进入写日志页面。

添加日志标题、填写正文,即可立即发表日志,为了方便日志管理,你可以设置分类,设置观看权限。

(3)留言板界面的功能

博客主人与访客都可以在此留言,为博客与访客之间提供一个交流的平台。

(4)图片上传的功能

博客主人可以利用上传图片的功能,将自己喜欢或者想保留的图片存在博客里面,图片可以展示博客主人的风格、最近状况、以及各项信息的体现。

4.2用户登录实现

通过代码建立一个用户登录界面。

源代码如下:

us = new Users();

string uid = txtuid.Text.Trim().ToString();

string pwd = txtpwd.Text.Trim().ToString();

if (uid != " " && pwd != " ")

{

if (us.Select(uid,pwd))

{

Session["username"] = uid;

Response.Redirect("../Manage/Hou.aspx",true); }

else

{

ClientScriptManager client = this.ClientScript; client.RegisterStartupScript(this.GetType(), "55", "");

return;

}

}

}

日志发表实现

通过代码建立一个日志发表实现界面。

源代码如下:

News news = new News();

SqlHelp sql;

protected void Page_Load(object sender, EventArgs e) {

SqlHelp.CheckLoginState();

if (!IsPostBack)

{

BindDrop();

}

}

protected void btnAdd_Click(object sender, EventArgs e) {

string text = InputText(Editor1.Text);

if

(news.AddNews(txtTitle.Text.Trim(),text,DateTime.Now,0,0,TType.SelectedValue,0,0))

{

ClientScriptManager script = this.ClientScript;

script.RegisterStartupScript(this.GetType(), "123",

"");

}

else

{

ClientScriptManager script = this.ClientScript;

script.RegisterStartupScript(this.GetType(), "123", "alert('添加博客失败!')", true);//5~1=a=s=p=x

}

}

protected void BindDrop()

{

sql = new SqlHelp();

DataSet ds = sql.GetDataSet("select class_id,class_name from class order by class_id desc");

TType.DataSource = ds.Tables[0].DefaultView;

TType.DataTextField = "class_name";

TType.DataValueField = "class_id";

TType.DataBind();

}

public string InputText(string text)

{

text = text.Trim();

if (string.IsNullOrEmpty(text))

{

return string.Empty;

}

text = Regex.Replace(text, "[\\s]{2,}", " "); //two or more spaces

text = Regex.Replace(text, "()+|()", "\n"); //

text = Regex.Replace(text, "(\\s*&[n|N][b|B][s|S][p|P];\\s*)+", " "); //

text = Regex.Replace(text, "", string.Empty); //any other tags

text = text.Replace("'", "''");

return text;

} }

}

留言评论实现

通过代码建立一个留言评论实现界面

protected void Page_Load(object sender, EventArgs e)

{

if (!IsPostBack)

{

dlbind();

}

}

public void dlbind()

{

int curpage = Convert.ToInt32(lb_currentpage.Text);

SqlConnection conn = new SqlConnection("server=.;database=blog;uid=sa;pwd=sql2005");

SqlDataAdapter da = new SqlDataAdapter("select top 50 * from Message order by date desc", conn);

DataSet ds = new DataSet();

da.Fill(ds, "Message");

PagedDataSource ps = new PagedDataSource();

ps.DataSource = ds.Tables["Message"].DefaultView; ps.AllowPaging = true;

ps.PageSize = 5;

ps.CurrentPageIndex = curpage - 1;

lb_page.Text = Convert.ToString(ps.PageCount);

if (!IsPostBack)

{

for (int i = 1; i

{

DropDownList1.Items.Add(i.ToString());

}

DropDownList1.SelectedItem.Text = curpage.ToString();

}

lbtn_frist.Enabled = true;

lbtn_up.Enabled = true;

lbtn_down.Enabled = true;

lbtn_last.Enabled = true;

if (curpage == 1)

{

lbtn_frist.Enabled = false;

lbtn_up.Enabled = false;

}

if (curpage == ps.PageCount)

{

lbtn_down.Enabled = false;

lbtn_last.Enabled = false;

}

Repeater1.DataSource = ps;

Repeater1.DataBind();

}

protected void lbtn_frist_Click(object sender, EventArgs e) {

lb_currentpage.Text = "1";

dlbind();

}

protected void lbtn_up_Click(object sender, EventArgs e) {

lb_currentpage.Text = Convert.ToString(Convert.ToInt32(lb_currentpage.Text) - 1); dlbind();

}

protected void lbtn_down_Click(object sender, EventArgs e) {

lb_currentpage.Text = Convert.ToString(Convert.ToInt32(lb_currentpage.Text) + 1); dlbind();

}

protected void lbtn_last_Click(object sender, EventArgs e) {

lb_currentpage.Text = lb_page.Text;

dlbind();

}

protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)

{

int page = Convert.ToInt32(DropDownList1.SelectedItem.Value);

lb_currentpage.Text = page.ToString();

dlbind();

}

protected void ImageButton_Command(object sender, CommandEventArgs e)

{

ne = new News();

int id = int.Parse(e.CommandName);

if (ne.DelMsg(id))

{

ClientScriptManager cli = Page.ClientScript;

cli.RegisterStartupScript(this.GetType(), "45", "");

dlbind();

}

}

图片上传

源代码如下:

News news = new News();

protected void Page_Load(object sender, EventArgs e) {

SqlHelp.CheckLoginState();

}

protected void Button1_Click(object sender, EventArgs e) {

string filnename, filneval, filepath;

if (FileUpload1.PostedFile.FileName == "")

{

ClientScriptManager script = this.ClientScript;

script.RegisterStartupScript(this.GetType(), "123", "alert('请选择照片,再提交!')", true);

return;

}

//获取服务器保存路径

filepath = Server.MapPath("../Uploads");

//获取上传文件名称

filnename = FileUpload1.PostedFile.FileName;

filnename

filnename.Substring(filnename.LastIndexOf("\\") + 1);

//获取文件类型

filneval = filnename.Substring(filnename.LastIndexOf(".") + 1).ToLower();

if (!(filneval == "jpg" || filneval == "gif" || filneval == "bmp" || filneval == "png"))//51@aspx

{

ClientScriptManager script = this.ClientScript;

script.RegisterStartupScript(this.GetType(), "123", "alert('只能上传:jpg,gif,bmp,png 格式!')", true);

return;

}

string ti = title.Text;

string fo = info.Text;

if (ti.Length > 50 || fo.Length > 50)

{

ClientScriptManager script = this.ClientScript;

script.RegisterStartupScript(this.GetType(), "123", "alert('标题在50个字符以内!')", true);

return;

}

//给上传的文件以日期命名

string refilename

DateTime.Now.ToString("yyyymmddHHmmss");

//开始上传文件

try

{

FileUpload1.SaveAs(filepath + "\\" + refilename + "." + filneval);

}

catch

{

= =

ClientScriptManager script = this.ClientScript;

script.RegisterStartupScript(this.GetType(), "123", "alert('上传失败!')", true);

return;

}

//把文件的路径写入数据库

if (news.AddPhoto(ti, fo, DateTime.Now, "../Uploads/" + refilename + "." + filneval))

{

Label1.Visible = true;

Label1.Text = "提示:文件成功上传";

}

title.Text = null;

info.Text = null;

第五章 总 结

博客系统设计实现了前台访问者查看日志、浏览图片、收听查看音频视频和留言功能,以及后台管理员对日志、图片、音频视频、留言的一系列操作。通过本次设计,掌握了许多网页开发工具和方法,基础理论知识、软件操作技能,独立思考问题的能力方面都有了长足的进步。

通过这段时间的设计与开发,总体上完成了以下几项工作:

1. 研究了题库理论,参考了一些相关的文献资料,并且使用了一些网页设计,对博客设计与开发有了一定的认识和了解。

2. 研究了ASP.NET 技术,SQL SERVER数据库技术,从而为系统原型的实现提供解决方案。

3. 在研究设计的基础之上对系统进行实现,该系统大体上实现了总体设计方案中所提到的前台系统和后台系统2个模块的功能。

4. 对系统进行测试,尽管在测试过程中还有一些尚未解决的问题,但是这些都是预期可以解决的。

参考文献

[1]徐人凤 曾建华主编.SQL Server 2005 [M ] .数据库及应用高等教育出版社.

[2]马军著.ASP 网络编程从入门到精通 [M ]. 人民邮局出版社

[3]沈阳 李勇敢著.Asp.NET 程序设计教程 [M ]. 清华大学出版社

[4][美]John Kauffman康博译.ASP.NET 数据库入门经典 [M].北京:清华大学出版社.2002.

致 谢

在本论文的写作过程中,要多谢黄海生老师,从选题到开题报告,一直都是指导老师给我提醒,在此我表示衷心的感谢。以前在大学学的不好,就是因为心理障碍没有越过,和大多数人一样,我是那种只要有板凳坐就不会想到站的人,这很容易解释为什么以前看到象棋马问题的算法会大脑缺氧,不愿思考是程序员最基本的一忌,自己并非勤快人,环境轻易地就改变了我的一些特性,尽管如此,看着自己设计的博客,我还是得意得有点异常,也只有这种时候,我才能理解为什么编程可以被称为一门艺术。在设计博客的同时,竟有说不出的兴奋,或许我有些自信心过剩,不过我既然可以全力把自己打造成为喜欢挑战和成就感的人,这也就不是问题;或许也因为开发上的思维方式对我的处世方式有很强的指导意义,尽管我也还不是非常确定。无论如何,这才仅仅是一个开始,在即将到来的博客开发过程中,我期待更美好的画面。

另外,还要感谢靳彬,赵曙光等同学们对我的帮助,在制作毕业设计的过程中,他们不嫌麻烦,一次又一次的帮我查询里面的错误,帮我修改,再次向他们表示感谢。

17

本科毕业设计(论文)

题 目: 个人博客的设计与实现

学生姓名: 学号:系(部): 数学与计算机科学 专业:计算机科学与技术 入学时间: 201 年 月 导师姓名: 职称/学位: 导师所在单位:

个人博客的设计与实现

摘 要

个人博客相对于现实生存空间更具有随意性,也逐步成为人们感情宣泄、人际交流的重要工具;在这个生活节奏越来越快,个人隐私越来越透明的社会中,拥有一个完全属于自己并能畅所欲言的博客实在是一种奢侈;因此个人博客就应运而生了。

随着网络技术的发展和网站安全性的提高,个人博客的保密性也在提升,人们可以在自己的博客里面发表日志、撰写博文、上传相片、分享生活等。个人博客以其简单、时尚而备受年轻人的青睐。可以说,个人博客对于现代人的生活质量具有很普遍的提高意义。该系统以ASP.NET 为开发技术,使用C#为开发语言,采用Visual Studio2008和SQL2005数据库两层架构模式同时采用MVC 开发模式,实现Blog 网站的动态管理,使得对Blog 信息的管理更加及时、高效,提高了工作效率。

关键词: 博客;ASP ;SQL ;Dreamweaver

Personal Blog Are Designed And Realized

Abstract

Personal blog as opposed to the reality of living space is more arbitrary, has also gradually become the people emotional catharsis, an important tool for interpersonal communication; in this increasingly fast pace of life, personal privacy is increasingly transparent society, with a completely their own and can say what the blog is really a luxury; personal blog came into being.

The system to ASP.NET development techniques, using C # development language, Visual Studio2008 and the SQL 2005 database two-tier architecture model while using the MVC development model, the dynamic management of the Blog Site, Blog information management in a more timely and efficient to improve the work efficiency.

Key words:Personal blog; ASP; SQL;Dreamweaver

目 录

第一章 引言 ............................................................... 1

1.1课题研究的意义 ..................................................... 1 1.2个人博客的现状 ..................................................... 1 1.3个人博客功能描述 ................................................... 1 第二章 BOLG的系统分析 .................................................... 2

2.1系统需求分析 ...................................................... 2 2.2 系统流程图 . ........................................................ 2 第三章 系统开发 ........................................................... 3

3.1 数据库E-R 图 ..................................................... 3 3.2数据库对象 ......................................................... 3 3.3系统界面 ........................................................... 5

3.3.1. 用户注册页面 ................................................. 5 3.3.2. 日志添加页面 ................................................. 6 3.3.3. 个人管理页面 ................................................. 6 3.3.4.相册页面 .................................................... 7 3.3.5. 日志页面 ..................................................... 7 3.3.6.留言页面 .................................................... 8

第四章 博客各项目的功能与实现 ............................................. 9

4.1 博客各项目的功能 .................................................. 9 4.2用户登录实现 ....................................................... 9 第五章 总 结 ............................................................. 15 参考文献 ................................................................. 16 致 谢 ................................................................. 17

个人博客的设计与实现

第一章 引言

个人博客是当今网络上的热点,它以其独有的个性、方便而广泛应用;无论是聊天工具,还是博客系统,甚至于企业公告等都或多或少地将其运用成为交流的重要手段。 1.1课题研究的意义

在Internet 飞速发展的今天,互联网成为人们快速获取,发布和传递信息的重要渠道。 它在人们政治、经济、生活等各个方面发挥着重要的作用。Internet 上发布信息主要是通过网站来实现的,获取信息也是要在Internet 中按照一定的检索方式将所需要的信息从网站上下载下来。因此网站建设在Internet 应用上的地位显而易见它已成为政府,企事业单位信息化建设中的重要组成部分,从而倍受人们的重视。根据个人喜欢开发了博客网站。

1.2个人博客的现状

个人博客发展的情况,现今,博客网站已经由06年的风风火火变的平淡,通过各种方式融入了我们的生活。成为了我们表现自己的主要方式。它们大部分是由简短而且经常更新的帖子构成,所有文章都是按照年份和日期排列。看上去平淡无奇,毫无可炫耀之处,但它让每个人零成本、零维护地创建自己的网络媒体,每个都可以随时把自己的思想火花和灵感更新到博客站点上。 在近二千万的中国博客用户中,每个用户平均每7.6天更新一次博客,活跃的博客用户数,一周内有更新的博客达到302万。约15.2%的用户每周更新博客 同时 只有大约4.6%的用户每天更新博客。在用户更新的博客中 约42%的博客文章在500个汉字到1000个字节之内, 1000~2000个字节的博客文章占约16.5%。越是长篇大论的文章在博客中所占比例则越少。 个人博客目前面临的主要问题,由于文化市场监督的不利,势必会造成一些淫秽的内容广泛传播于网路,这就需要文化部门的有力监督。

1.3个人博客功能描述

个人博客采用ASP.NET 与SQL Server相结合的技术,使用户能够:记录个人生活:如同日记一般,可将自己每日生活中发生的事情记录下来。表达个人思想:它可依照个人自由意志去撰写内容,传达个人的自由思想。分享个人心情:把生活中的不满、郁闷或愤怒宣泄到博客上。

第二章 BOLG的系统分析

2.1系统需求分析

(1)前台主要功能要求。

通过对个人博客的典型业务调查分析可以得到个人博客前台用户的主要功能包括: 允许用户查看所有的日志及图片;

访问者可以查看日志文章、图片及用户信息; 访问者可以查看文章评论,并能够发表新的评论; 允许用户装扮自己的个人空间; 允许用户播放音乐、转载和分享视频。 (2)后台主要功能要求。

通过对个人博客的典型业务调查分析可以得到个人博客后台用户的主要功能包括: 可以查看和修改用户的个人资料;

可以对日志进行增加、修改、删除以及日志的分类管理; 可以对图片进行上传、删除及修改; 可以对评论进行分类管理。

2.2 系统流程图

第三章 系统开发

3.1 数据库E-R 图

系统开发过程中,数据库设计占有重要的地位。数据库设计的原则是根据系统的整体需求而定的。通过对本网站进行的需求分析、网站流程分析,以及系统功能结构的确定,规

划出系统中使用的数据库实体对象。通过整理,画出部分数据库实体的概念模型图。

3.2数据库对象

1)用户表(Register)

3

3.3系统界面

3.3.1.用户注册页面

不是本网站的用户,可以通过登录页面的注册新用户链接进入到注册页面,注册成功的用户,便可拥有自己的个人空间。见图1

图1:注册页面

3.3.2. 日志添加页面

3.3.3. 个人管理页面

3.3.4.相册页面

3.3.5. 日志页面

3.3.6.留言页面

第四章 博客各项目的功能与实现

4.1 博客各项目的功能

(1) 用户登录的功能

根据客户进入用户登录的界面,可以注册自己的信息,注册一个属于个人的账户,完成初始进入博客的允许权。

(2)日志发表界面的功能

博客首页上登录博客后,在个人模块可点击“写日志”进入写日志页面;进入博客后,鼠标指向到左上角的快捷工具栏提示图标,可快速调用工具栏,点击工具栏中的“写日志”,也进入写日志页面;可在个人博客中,点击标题栏的“写日志”,进入写日志页面。

添加日志标题、填写正文,即可立即发表日志,为了方便日志管理,你可以设置分类,设置观看权限。

(3)留言板界面的功能

博客主人与访客都可以在此留言,为博客与访客之间提供一个交流的平台。

(4)图片上传的功能

博客主人可以利用上传图片的功能,将自己喜欢或者想保留的图片存在博客里面,图片可以展示博客主人的风格、最近状况、以及各项信息的体现。

4.2用户登录实现

通过代码建立一个用户登录界面。

源代码如下:

us = new Users();

string uid = txtuid.Text.Trim().ToString();

string pwd = txtpwd.Text.Trim().ToString();

if (uid != " " && pwd != " ")

{

if (us.Select(uid,pwd))

{

Session["username"] = uid;

Response.Redirect("../Manage/Hou.aspx",true); }

else

{

ClientScriptManager client = this.ClientScript; client.RegisterStartupScript(this.GetType(), "55", "");

return;

}

}

}

日志发表实现

通过代码建立一个日志发表实现界面。

源代码如下:

News news = new News();

SqlHelp sql;

protected void Page_Load(object sender, EventArgs e) {

SqlHelp.CheckLoginState();

if (!IsPostBack)

{

BindDrop();

}

}

protected void btnAdd_Click(object sender, EventArgs e) {

string text = InputText(Editor1.Text);

if

(news.AddNews(txtTitle.Text.Trim(),text,DateTime.Now,0,0,TType.SelectedValue,0,0))

{

ClientScriptManager script = this.ClientScript;

script.RegisterStartupScript(this.GetType(), "123",

"");

}

else

{

ClientScriptManager script = this.ClientScript;

script.RegisterStartupScript(this.GetType(), "123", "alert('添加博客失败!')", true);//5~1=a=s=p=x

}

}

protected void BindDrop()

{

sql = new SqlHelp();

DataSet ds = sql.GetDataSet("select class_id,class_name from class order by class_id desc");

TType.DataSource = ds.Tables[0].DefaultView;

TType.DataTextField = "class_name";

TType.DataValueField = "class_id";

TType.DataBind();

}

public string InputText(string text)

{

text = text.Trim();

if (string.IsNullOrEmpty(text))

{

return string.Empty;

}

text = Regex.Replace(text, "[\\s]{2,}", " "); //two or more spaces

text = Regex.Replace(text, "()+|()", "\n"); //

text = Regex.Replace(text, "(\\s*&[n|N][b|B][s|S][p|P];\\s*)+", " "); //

text = Regex.Replace(text, "", string.Empty); //any other tags

text = text.Replace("'", "''");

return text;

} }

}

留言评论实现

通过代码建立一个留言评论实现界面

protected void Page_Load(object sender, EventArgs e)

{

if (!IsPostBack)

{

dlbind();

}

}

public void dlbind()

{

int curpage = Convert.ToInt32(lb_currentpage.Text);

SqlConnection conn = new SqlConnection("server=.;database=blog;uid=sa;pwd=sql2005");

SqlDataAdapter da = new SqlDataAdapter("select top 50 * from Message order by date desc", conn);

DataSet ds = new DataSet();

da.Fill(ds, "Message");

PagedDataSource ps = new PagedDataSource();

ps.DataSource = ds.Tables["Message"].DefaultView; ps.AllowPaging = true;

ps.PageSize = 5;

ps.CurrentPageIndex = curpage - 1;

lb_page.Text = Convert.ToString(ps.PageCount);

if (!IsPostBack)

{

for (int i = 1; i

{

DropDownList1.Items.Add(i.ToString());

}

DropDownList1.SelectedItem.Text = curpage.ToString();

}

lbtn_frist.Enabled = true;

lbtn_up.Enabled = true;

lbtn_down.Enabled = true;

lbtn_last.Enabled = true;

if (curpage == 1)

{

lbtn_frist.Enabled = false;

lbtn_up.Enabled = false;

}

if (curpage == ps.PageCount)

{

lbtn_down.Enabled = false;

lbtn_last.Enabled = false;

}

Repeater1.DataSource = ps;

Repeater1.DataBind();

}

protected void lbtn_frist_Click(object sender, EventArgs e) {

lb_currentpage.Text = "1";

dlbind();

}

protected void lbtn_up_Click(object sender, EventArgs e) {

lb_currentpage.Text = Convert.ToString(Convert.ToInt32(lb_currentpage.Text) - 1); dlbind();

}

protected void lbtn_down_Click(object sender, EventArgs e) {

lb_currentpage.Text = Convert.ToString(Convert.ToInt32(lb_currentpage.Text) + 1); dlbind();

}

protected void lbtn_last_Click(object sender, EventArgs e) {

lb_currentpage.Text = lb_page.Text;

dlbind();

}

protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)

{

int page = Convert.ToInt32(DropDownList1.SelectedItem.Value);

lb_currentpage.Text = page.ToString();

dlbind();

}

protected void ImageButton_Command(object sender, CommandEventArgs e)

{

ne = new News();

int id = int.Parse(e.CommandName);

if (ne.DelMsg(id))

{

ClientScriptManager cli = Page.ClientScript;

cli.RegisterStartupScript(this.GetType(), "45", "");

dlbind();

}

}

图片上传

源代码如下:

News news = new News();

protected void Page_Load(object sender, EventArgs e) {

SqlHelp.CheckLoginState();

}

protected void Button1_Click(object sender, EventArgs e) {

string filnename, filneval, filepath;

if (FileUpload1.PostedFile.FileName == "")

{

ClientScriptManager script = this.ClientScript;

script.RegisterStartupScript(this.GetType(), "123", "alert('请选择照片,再提交!')", true);

return;

}

//获取服务器保存路径

filepath = Server.MapPath("../Uploads");

//获取上传文件名称

filnename = FileUpload1.PostedFile.FileName;

filnename

filnename.Substring(filnename.LastIndexOf("\\") + 1);

//获取文件类型

filneval = filnename.Substring(filnename.LastIndexOf(".") + 1).ToLower();

if (!(filneval == "jpg" || filneval == "gif" || filneval == "bmp" || filneval == "png"))//51@aspx

{

ClientScriptManager script = this.ClientScript;

script.RegisterStartupScript(this.GetType(), "123", "alert('只能上传:jpg,gif,bmp,png 格式!')", true);

return;

}

string ti = title.Text;

string fo = info.Text;

if (ti.Length > 50 || fo.Length > 50)

{

ClientScriptManager script = this.ClientScript;

script.RegisterStartupScript(this.GetType(), "123", "alert('标题在50个字符以内!')", true);

return;

}

//给上传的文件以日期命名

string refilename

DateTime.Now.ToString("yyyymmddHHmmss");

//开始上传文件

try

{

FileUpload1.SaveAs(filepath + "\\" + refilename + "." + filneval);

}

catch

{

= =

ClientScriptManager script = this.ClientScript;

script.RegisterStartupScript(this.GetType(), "123", "alert('上传失败!')", true);

return;

}

//把文件的路径写入数据库

if (news.AddPhoto(ti, fo, DateTime.Now, "../Uploads/" + refilename + "." + filneval))

{

Label1.Visible = true;

Label1.Text = "提示:文件成功上传";

}

title.Text = null;

info.Text = null;

第五章 总 结

博客系统设计实现了前台访问者查看日志、浏览图片、收听查看音频视频和留言功能,以及后台管理员对日志、图片、音频视频、留言的一系列操作。通过本次设计,掌握了许多网页开发工具和方法,基础理论知识、软件操作技能,独立思考问题的能力方面都有了长足的进步。

通过这段时间的设计与开发,总体上完成了以下几项工作:

1. 研究了题库理论,参考了一些相关的文献资料,并且使用了一些网页设计,对博客设计与开发有了一定的认识和了解。

2. 研究了ASP.NET 技术,SQL SERVER数据库技术,从而为系统原型的实现提供解决方案。

3. 在研究设计的基础之上对系统进行实现,该系统大体上实现了总体设计方案中所提到的前台系统和后台系统2个模块的功能。

4. 对系统进行测试,尽管在测试过程中还有一些尚未解决的问题,但是这些都是预期可以解决的。

参考文献

[1]徐人凤 曾建华主编.SQL Server 2005 [M ] .数据库及应用高等教育出版社.

[2]马军著.ASP 网络编程从入门到精通 [M ]. 人民邮局出版社

[3]沈阳 李勇敢著.Asp.NET 程序设计教程 [M ]. 清华大学出版社

[4][美]John Kauffman康博译.ASP.NET 数据库入门经典 [M].北京:清华大学出版社.2002.

致 谢

在本论文的写作过程中,要多谢黄海生老师,从选题到开题报告,一直都是指导老师给我提醒,在此我表示衷心的感谢。以前在大学学的不好,就是因为心理障碍没有越过,和大多数人一样,我是那种只要有板凳坐就不会想到站的人,这很容易解释为什么以前看到象棋马问题的算法会大脑缺氧,不愿思考是程序员最基本的一忌,自己并非勤快人,环境轻易地就改变了我的一些特性,尽管如此,看着自己设计的博客,我还是得意得有点异常,也只有这种时候,我才能理解为什么编程可以被称为一门艺术。在设计博客的同时,竟有说不出的兴奋,或许我有些自信心过剩,不过我既然可以全力把自己打造成为喜欢挑战和成就感的人,这也就不是问题;或许也因为开发上的思维方式对我的处世方式有很强的指导意义,尽管我也还不是非常确定。无论如何,这才仅仅是一个开始,在即将到来的博客开发过程中,我期待更美好的画面。

另外,还要感谢靳彬,赵曙光等同学们对我的帮助,在制作毕业设计的过程中,他们不嫌麻烦,一次又一次的帮我查询里面的错误,帮我修改,再次向他们表示感谢。

17


相关文章

  • 个人博客系统毕业设计论文46282031
  • (此文档为word 格式,下载后您可任意编辑修改!) 摘 要 随着Internet 的广泛应用,动态网页技术也应运而生.本文介绍了应用ASP 动态网页技术开发博客系统的设计与实现. 博客系统主要为用户提供发表文章.浏览文章等功能,用户通过I ...查看


  • 个人博客系统毕业设计论文11741143
  • (此文档为word 格式,下载后您可任意编辑修改!) 你如果认识从前的我,也许会原谅现在的我. 摘 要 随着Internet 的广泛应用 动态网页技术也应运而生 本文介绍了应用ASP 动态网页技术开发博客系统的设计与实现 博客系统主要为用户 ...查看


  • 微博的盈利模式分析-新浪微博
  • 本科毕业设计(论文) 微博的价值发掘与盈利模式分析 --以新浪微博为例 学 院 专 业 年级班别 学 号 学生姓名 指导教师 2012年 05月09日 摘 要 2009年8月中国最大的门户网站新浪网推出"新浪微博"内测版 ...查看


  • 第二阶段选学名师网络研修专题实施方案
  • 江西省中小学(幼儿园)教师全员远程培训 第二阶段选学名师网络研修专题实施方案 根据<江西省"十二五"期间普通中小学(幼儿园)教师全员远程培训实施办法>(赣教师字„2011‟21号).<关于建立江西省中小 ...查看


  • 春季学期个人课题研究工作计划
  • 一.研究课题:<课堂教学中错误资源的利用研究> 二.研究目的: 1.通过研究和探索,不断产出阶段研究的实践成果 2.最大限度地发挥课堂教学中错误资源的作用和资源优势,进一步提高学生错误资源的利用率,加强错误资源在教学中的利用.通 ...查看


  • [生活中的经济学]论文 1
  • 标题:无"微"不至,微博兴起的原因之我见 系别:经济与管理系 班级:会计 姓名:汪 学号: --浅析微博兴起的原因 0903班 玮 0202090320 无"微"不至,微博兴起之我见 --微博兴起原因 ...查看


  • 本科计算机论文题目
  • 基于asp 语言的测试项目 学生信息管理系统的设计与实现 基于ASP.NET 的社区人口管理系统 基于ASP.NET 的课程教学网站设计 公司会议网站 C#高校工资管理系统 C#在线点歌系统 <数据库原理>精品课程网站设计 教师 ...查看


  • 计算机专业毕业论文题目_大全(1)
  • 目 录 ASP 类计算机专业毕业论文题目.................................................................................................... ...查看


  • 网络部门岗位职责架构__完成
  • 网络部岗位职责架构 网络主管 职务名称:网络主管 直接上级:总经理(院长) 网站部主管岗位职责: 1.组织对网站的整体规划:内容建设,网站布局,网站结构方面的规划 2.门户网站的互动功能.架构设计及详细的文档编写 3.与各部门人员的沟通. ...查看


热门内容