网络编程设计实训报告在线相册实训报告.docx
- 文档编号:5653403
- 上传时间:2022-12-30
- 格式:DOCX
- 页数:25
- 大小:6.62MB
网络编程设计实训报告在线相册实训报告.docx
《网络编程设计实训报告在线相册实训报告.docx》由会员分享,可在线阅读,更多相关《网络编程设计实训报告在线相册实训报告.docx(25页珍藏版)》请在冰豆网上搜索。
网络编程设计实训报告在线相册实训报告
中央广播电视大学人才培养模式改革和开放教育试点
计算机科学与技术专业实训报告
课程名称:
网络编程技术(ASP.NET程序设计)
姓名:
学号:
分校:
专业:
年级:
指导教师:
姓名
学号
专业
计算机科学与技术
年级
教学班
实训题目
创建一个基于ASP.NET的Web相册网站
实训开始时间
2013.5.20
实训结束时间
2013.5.30
实训目的:
1、掌握IIS的安装和配置方法,了解Web.config文件的配置。
2、了解使用ASP.NET网站管理工具创建和管理用户账户的方法。
3、掌握ASP.NET标准控件的使用。
4、了解ADO.NET技术,掌握数据源控件的使用方法。
5、掌握正确配置SqlDataSource方法,理解UPDATE、INSERT和DELETE等常用SQL语句。
6、了解通过母版页实现设计网站模板的方法。
7、掌握使用Menu控件显示导航菜单。
实训内容与要求:
创建一个在线相册,允许用户将照片从本机上传到网站。
上传照片时,可以添加对于照片的相关描述,例如标题,描述等。
同时系统会记录用户上传每张照片的时间。
照片上传后,用户可以对照片进行编辑和删除。
同时,该网站允许访问者访问相册,浏览照片,并且可以通过用户名或照片标题查找照片。
具体要求如下:
●支持用户账户。
●允许用户访问该网站,同时可以查看所有的照片。
●只允许已登录的用户上传照片。
同时,用户可以对自己上传的照片进行编辑和删除操作。
●上传照片时,用户需要提供照片的标题和描述。
●用户查看照片时,可以通过特定的方法进行查找,例如,可以通过上传照片的用户名查找属于同一用户的照片,或者通过照片的标题进行模糊查找。
详细的功能介绍请看书本(ASP.NET程序设计与应用开发-清华大学出版社出版,李千目、严哲主编)第15章
实训步骤:
(学生书写,必须含有截图)
首先,准备开发环境,我的开发环境是WIN7操作系统,数据库是SQLSERVER2008,开发IDE使用VisualStudio2010.
开发环境安装妥当后,开始做创建数据库的工作。
打开WIN开始菜单,选择VS命令提示,输入DOS命令“aspnet_regsql”创建MemberShip数据库。
将SQLSERVER中新创建的数据库aspnetdb重命名为PictrueWeb。
新建查询,输入创建表Picture的SQL语句:
这样表和关系就建立完成。
整个数据库的关系表如下图:
下面开始做WEB站点,首先创建ASP.NET网站说。
创建母版页面
设计页面
页面源码
创建各所需页面并套用模板页,将网站框架搭建起来。
制作注册页面
制作登录页
制作管理相册模块
创建数据源
制作上传并保存图像的文件
配置与之相关的数据源
上传相片的相关代码:
stringuploadPath;
protectedvoidPage_Load(objectsender,EventArgse)
{
txbuploadtime.Text=System.DateTime.Now.ToString();
}
protectedvoidButton1_Click(objectsender,EventArgse)
{
if(Page.IsValid)
{
Image1.Visible=true;
//上传文件夹
uploadPath="~/Images/";
//上传文件夹的物理路径
stringpath=Server.MapPath(uploadPath);
//1、利用HasFile属性判断是否存在文件;
if(this.ImageUpload.HasFile)
{
DirectoryInfodir=newDirectoryInfo(path);
//文件夹不存在,建立文件夹
if(!
dir.Exists)
{
Directory.CreateDirectory(path);
}
//3、对上传的文件进行检查,如文件大小,文件类型等;
string[]allowfileExtension={".gif",".jpg",".png"};
stringfileExtension=Path.GetExtension(this.ImageUpload.FileName).ToLower();
//判断文件类型是否符合上传要求的标志位
BooleanUploadFlag=false;
for(inti=0;i { if(fileExtension==allowfileExtension[i]) { UploadFlag=true; break; } } //利用SaveAs()方法上传文件到上传路径。 if(UploadFlag) { this.Image1.ImageUrl=uploadPath+this.ImageUpload.FileName; this.ImageUpload.SaveAs(path+ImageUpload.FileName); } else { Page.ClientScript.RegisterClientScriptBlock(this.GetType(),"error","alert('上传的文件类型不正确,请重新选择');",true); } stringconnstr=ConfigurationManager.ConnectionStrings["PhotoDBConnectionString"].ConnectionString; SqlConnectioncon=newSqlConnection(connstr); stringsql="INSERTINTO[Photo]([PhotoPath],[PhotoName],[UploadTime],[UserID])VALUES(@PhotoPath,@PhotoName,@UploadTime,@UserID)"; SqlCommandcmd=newSqlCommand(sql,con); stringakon=uploadPath+this.ImageUpload.FileName; //任务4.4参数化命令 cmd.Parameters.Add("@PhotoPath",SqlDbType.VarChar,50).Value=akon; cmd.Parameters.Add("@PhotoName",SqlDbType.VarChar,50).Value=txbphotoname.Text; cmd.Parameters.Add("@UploadTime",SqlDbType.VarChar,50).Value=txbuploadtime.Text; cmd.Parameters.Add("@UserID",SqlDbType.VarChar,50).Value=Session["userid"].ToString(); con.Open(); cmd.ExecuteNonQuery(); con.Close(); Response.Redirect("photolist.aspx"); } 查看当前用户的相册 相关代码: protectedvoidPage_Load(objectsender,EventArgse) { if(Session["UserName"]! =null) { if(! Page.IsPostBack) { ShowData(); } } } voidShowData() { stringconnstr=ConfigurationManager.ConnectionStrings["PhotoDBConnectionString"].ConnectionString; SqlConnectionsqlcon=newSqlConnection(connstr); stringsqlstr="SELECT*FROMPhotowhereUserID='"+Session["UserId"].ToString()+"'"; SqlDataAdaptermyda=newSqlDataAdapter(sqlstr,sqlcon); DataSetmyds=newDataSet(); sqlcon.Open(); myda.Fill(myds,"Photo"); DataList1.DataSource=myds.Tables["Photo"].DefaultView;; DataList1.DataBind(); //ds中缓存的表格“tb_Member” sqlcon.Close(); } protectedvoidDataList1_EditCommand(objectsource,DataListCommandEventArgse) { DataList1.EditItemIndex=e.Item.ItemIndex; ShowData(); } protectedvoidDataList1_CancelCommand(objectsource,DataListCommandEventArgse) { DataList1.EditItemIndex=-1; ShowData(); } protectedvoidDataList1_UpdateCommand(objectsource,DataListCommandEventArgse) { stringconnstr=ConfigurationManager.ConnectionStrings["PhotoDBConnectionString"].ConnectionString; SqlConnectionsqlcon=newSqlConnection(connstr); stringid=DataList1.DataKeys[e.Item.ItemIndex].ToString(); stringstrname=((TextBox)e.Item.FindControl("TxtName")).Text; stringstrupdate="updatePhotosetPhotoName='"+strname+"'wherePhotoID='"+id+"'"; SqlCommandsqlcmd=newSqlCommand(strupdate,sqlcon); sqlcon.Open(); sqlcmd.ExecuteNonQuery(); sqlcon.Close(); DataList1.EditItemIndex=-1; ShowData(); } protectedvoidLinkButton1_Click(objectsender,EventArgse) { Response.Redirect("upload.aspx"); Session.Remove("UserName"); Session.Abandon(); } protectedvoidLinkButton2_Click(objectsender,EventArgse) { Response.Redirect("updateinfor.aspx"); } protectedvoidDataList1_DeleteCommand(objectsource,DataListCommandEventArgse) { stringconnstr=ConfigurationManager.ConnectionStrings["PhotoDBConnectionString"].ConnectionString; SqlConnectionconn=newSqlConnection(connstr); stringsql="select*fromPhotowherePhotoID='"+DataList1.DataKeys[e.Item.ItemIndex].ToString()+"'"; SqlCommandcomm=newSqlCommand(sql,conn); conn.Open(); SqlDataReaderdr=comm.ExecuteReader(); dr.Read(); stringdiv=dr["PhotoPath"].ToString(); File.Delete(Server.MapPath(div)); conn.Close(); //stringconnstr=ConfigurationManager.ConnectionStrings["PhotoDBConnectionString"].ConnectionString; SqlConnectionsqlcon=newSqlConnection(connstr); stringstrdel="deletefromPhotowherePhotoID='"+DataList1.DataKeys[e.Item.ItemIndex].ToString()+"'"; sqlcon.Open(); SqlCommandsqlcmd=newSqlCommand(strdel,sqlcon); sqlcmd.ExecuteNonQuery(); sqlcon.Close(); ShowData(); } } 制作编辑相册内容的页面 制作显示所有相片的页面 制作查找图片页面 其中按用户可以使用绑定数据源方式 完成。 实训心得: 1.熟悉了模板页的使用。 2.学习了MEMBERSHIP数据库的创建和使用。 3.熟悉了ASP.NET的控件使用。 4.熟悉了如何使用代码对数据库进行增删改查。 5.项目还有可以改进的地方,如安全性没充分考虑。 学生签名: 2013年6月2日 指导教师评语: 成绩: 指导教师签名: 年月日 终审意见: 成绩: 终审签名: 年月日 下面是经典古文名句赏析! ! 不需要的朋友, 可以下载后编辑删除! ! 谢谢 经典古文名篇 (一);1.陋室铭刘禹锡(唐)字梦得《刘梦得文集》;山不在高,有仙则名;2.马说韩愈(唐)字退之《昌黎先生集》;世有伯乐,然后有千里马;马之千里者,一食(shí)或尽粟一石(dàn);策之不以其道,食(sì)之不能尽其材(才),鸣之;3.师说韩愈(唐);古之学者必有师;嗟乎! 师道之不传也久矣! 欲人之无惑也难矣! 古之圣;圣人无常师;李氏子蟠,年十七 经典古文名篇 (一) 1.陋室铭刘禹锡(唐)字梦得《刘梦得文集》 山不在高,有仙则名。 水不在深,有龙则灵。 斯是陋室,惟吾德馨。 苔痕上阶绿,草色入帘青。 谈笑有鸿儒,往来无白丁。 可以调素琴,阅金经。 无丝竹之乱耳,无案牍之劳形。 南阳诸葛庐,西蜀子云亭。 孔子云: 何陋之有? 2.马说韩愈(唐)字退之《昌黎先生集》 世有伯乐,然后有千里马。 千里马常有,而伯乐不常有。 故虽有名马,只辱于奴隶人之手,骈死于槽枥之间,不以千里称也。 马之千里者,一食(shí)或尽粟一石(dàn)。 食(sì)马者不知千里而食(sì)也。 是马也,虽有千里之能,食(shí)不饱,力不足,才美不外见(现),且欲与常马等不可得,安求其能千里也? 策之不以其道,食(sì)之不能尽其材(才),鸣之而不能通其意,执策而临之,曰: “天下无马! ”呜呼! 其真无马邪(ye)? 其真不知马也。 3.师说韩愈(唐) 古之学者必有师。 师者,所以传道受(授)业解惑也。 人非生而知之者,孰能无惑? 惑而不从师,其为惑也,终不解矣。 生乎吾前,其闻道也固先乎吾,吾从而师之;生乎吾后,其闻道也亦先乎吾,吾从而师之。 吾师道也,夫庸知其年之先后生于吾乎? 是故无贵无贱,无长无少,道之所存,师之所存也。 嗟乎! 师道之不传也久矣! 欲人之无惑也难矣! 古之圣人,其出人也远矣,犹且从师而问焉;今之众人,其下圣人也亦远矣,而耻学于师。 是故圣益圣,愚益愚。 圣人之所以为圣,愚人之所以为愚,其皆出于此乎? 爱其子,择师而教之;于其身也,则耻师焉,惑矣。 彼童子之师,授之书而习其句读(d? u)者,非吾所谓传其道解其惑者也。 句读之不知,惑之不解,或师焉,或不(fǒu)焉,小学而大遗,吾未见其明也。 巫医乐师百工之人,不耻相师。 士大夫之族,曰师曰弟子云者,则群聚而笑之。 问之,则曰: “彼与彼年相若也,道相似也,位卑则足羞,官盛则近谀。 ”呜呼! 师道之不复,可知矣。 巫医乐师百工之人,君子不齿,今其智乃反不能及,其可怪也欤! 圣人无常师。 孔子师郯(tán)子、苌(cháng)弘、师襄、老聃(dàn)。 郯子之徒,其贤不及孔子。 孔子曰: 三人行,则必有我师。 是故弟子不必不如师,师不必贤于弟子,闻道有先后,术业有专攻,如是而已。 李氏子蟠,年十七,好古文,六艺经传皆通习之,不拘于时,学于余。 余嘉其能行古道,作《师说》以贻之。 4.爱莲说周敦颐(北宋)字茂叔《周元公集》 水陆草木之花,可爱者甚藩(fán)。 晋陶渊明独爱菊。 自李唐来,世人甚爱牡丹。 予独爱莲之出淤泥而不染,濯清涟而不妖,中通外直,不蔓不枝,香远益清,亭亭净植,可远观而不可亵玩焉。 予谓菊,花之隐逸者也;牡丹,花之富贵者也;莲,花之君子者也。 噫! 菊之爱,陶后鲜有闻。 莲之爱,同予者何人? 牡丹之爱,宜乎众矣! 5.得道多助,失道寡助《孟子? 公孙丑》(战国)名轲字子舆 天时不如地利,地利不如人和。 三里之城,七里之郭,环而攻之而不胜。 夫还而攻之,必有得天时者矣,然而不胜者,是天时不如地利也。 城非不高也,池非不深也,兵革非不坚利也,米粟非不多也,委而去之,是地利不如人和也。 故曰,域民不以封疆之界,固国不以山溪之险,威天下不以兵革之利。 得道者多助,失道者寡助。 寡助之至,亲戚畔(叛)之。 多助之至,天下顺之。 以天下之所顺,攻亲戚之所畔,故君子有不战,战必胜矣。 6.生于忧患,死于安乐《孟子? 告子》 舜发于畎亩之中,傅说(yua)举于版筑之间,胶鬲举于鱼盐之中,管夷吾举于士,孙叔敖举于海,百里奚举于市。 故天将降大任于是人也,必先苦其心志,劳其筋骨,饿其体肤,空乏其身,行拂乱其所为,所以动心忍性,曾(增)益其所不能。 人恒过,然后能改;困于心,衡于虑,而后作;征于色,发于声,而后喻。 入则无法家拂(bì)士,出则无敌国外患者,国恒亡。 然后知生于忧患,而死于安乐也。 7.鱼我所欲也《孟子》 鱼,我所欲也,熊掌,亦我所欲也,二者不可得兼,舍鱼而取熊掌者也。 生,亦我所欲也,义,亦我所欲也,二者不可得兼,舍生而取义者也。 生亦我所欲,所欲有甚于生者,故不为苟得也。 死亦我所恶,所恶有甚于死者,故患有所不避也。 如使人之所欲莫甚于生,则凡可以得生者何不用也? 使人之所恶莫甚于死者,则凡可以避患者何不为也? 由是则生而有不用也;由是则可以避患而有不为也。 是故所欲有甚于生者,所恶有甚于死者。 非独贤者有是心也,人皆有之,贤者能勿丧耳。 一箪食,一豆羹,得之则生,弗得则死。 呼尔而与之,行道之人弗受;蹴尔而与之,乞人不屑也。 万钟则不辨礼义而受之,万钟于我何加焉! 为宫室之美,妻妾之奉,所识穷乏者得我欤? 向为身死而不受,今为宫室之美为之;向为身死而不受,今为妻妾之奉为之;向为身死而不受,今为所识穷乏者得我而为之: 是亦不可以已乎? 此之谓失其本心。 8.劝学《荀子》(战国)名况 君子曰: 学不可以已。 青,取之于蓝,而青于蓝;冰,水为之,而寒于水。 木直中(zh? ng)绳,以为轮,其曲中规。 虽有(又)槁(gào)暴(pù),不复挺者,使之然也。 故木受绳则直,金就砺则利,君子博学而日参(cān)省乎己,则知明而行无过矣。 吾尝终日而思矣,不如须臾之所学也;吾尝跂(qí)而望矣,不如登高之博见也。 登高而招,臂非加长也,而见者远;顺风而呼,声非加疾也,而闻者彰。 假舆马者,非利足也,而致千里;假舟楫者,非能水也,而绝江河。 君子生(性)非异也,善假于物也。 积土成山,风雨兴焉;积水成渊,蛟龙生焉;积善成德,而神明自得,圣心备焉。 故不积跬步,无以至千里;不积小流,无以成江海。 骐骥一跃,不能十步;驽马十驾,功在不舍。 锲而舍之,朽木不折;锲而不舍,金石可镂。 蚓无爪牙之利,筋骨之强,上食埃土,不饮黄泉,用心一也。 蟹六跪而二螯,非蛇鳝之穴无可寄托者,用心躁也。 9.问说刘开(清)字明东、方来号孟涂 君子学必好问。 问与学,相辅而行者也,非学无以致疑,非问无以广识。 好学而不勤问,非真能好学者也。 理明矣,而或不达于事,识其大矣,而或不知其细,舍问,其奚决焉? 贤于己者,问焉以破其疑,所谓就有道而正也。 不如己者,问焉以求一得,所谓以能问于不能,以多问于寡也。 等于己者,问焉以资切磋,所谓交相问难(nàn),审问而明辨之也。 《书》不云乎? “好问则裕。 ”孟子论“求放心”,而并称曰“学问之道”,学即继以问也。 子思言“尊德性”,而归于“道问学”,问且先于学也。 古之人虚中乐善,不择事而问焉,不择人而问焉,取其有益于身而已。 是故狂夫之言,圣人择之,刍荛(ráo)之微,先民询之,舜以天子而询于匹夫,以大知而察及迩言,非苟为谦,诚取善之弘也。 三代而下,有学而无问,朋友之交,至于劝善规过足矣,其以义理相咨访,孜孜焉唯进修是急,未之多见也,况流俗乎? 是己而非人,俗之同病。 学有未达,强(qiǎng)以为知,理有未安,妄以臆度(duo), 如是,则终身几无可问之事。 贤于己者,忌之而不愿问焉,不如己者,轻之而不屑问焉,等于己者,狎之而不甘问焉,如是,则天下几无可问之人。 人不足服矣,事无可疑矣,此唯师心自用耳。 夫自用,其小者也;自知其陋而谨护其失,宁使学终不进,不欲虚以下人,此为害于心术者大,而蹈之者常十之。 不然,则所问非所学焉: 询天下之异文鄙事以快言论;甚且心之所已明者,问之人以试其能,事之至难解者,问之人以穷其短。 而非是者,虽有切于身心性命之事,可以收取善之益,求一屈己焉而不可得也。 嗟乎! 学之所以不能几(jī)于古者,非此之由乎? 且夫不好问者,由心不能虚也;心之不虚,由好学之不诚也。 亦非不潜心专力之敌,其学非古人之学,其好亦非古人之好也,不能问宜也。 智者千虑,必有一失。 圣人所不知,未必不为愚人之所知也;愚人之所能,未必非圣人之不能也。 理无专在,而学无止境
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 网络 编程 设计 报告 在线 相册