博客系统设计毕业论文.doc

上传人:小小飞 文档编号:3915921 上传时间:2019-10-10 格式:DOC 页数:33 大小:1.28MB
返回 下载 相关 举报
博客系统设计毕业论文.doc_第1页
第1页 / 共33页
博客系统设计毕业论文.doc_第2页
第2页 / 共33页
博客系统设计毕业论文.doc_第3页
第3页 / 共33页
博客系统设计毕业论文.doc_第4页
第4页 / 共33页
博客系统设计毕业论文.doc_第5页
第5页 / 共33页
点击查看更多>>
资源描述

《博客系统设计毕业论文.doc》由会员分享,可在线阅读,更多相关《博客系统设计毕业论文.doc(33页珍藏版)》请在三一文库上搜索。

1、需要本论文完整程序源代码,答辩PPT或者更多毕业论文联系799523222毕 业 论 文题 目: 博客系统的设计和开发 专 业: 班 级: 姓 名: 学 号: 指导教师: 日 期: 目 录1 绪论11.1 系统开发背景11.2 课题研究的意义12 Blog系统开发技术22.1 ASP.NET2介绍22.2 三层架构开发模式322.2.1三层架构的概述22.2.2三层架构的优缺点32.3 Ajax4介绍32.3.1什么是Ajax32.3.3 Ajax技术在系统中的应用42.4 数据库142.4.1 SQL SERVER 200542.4.2 ADO.NET52.5 ASP.NET配置52.6 X

2、ML63 BLOG系统分析73.1 系统设计方案73.2 系统功能模块73.3 数据库需求分析83.4 系统操作流程93.5 组件和样式分析103.6 用户控件104 BLOG系统设计114.1后台功能模块详细设计114.1.1 身份验证114.1.2 后台管理员信息管理124.1.3 后台用户信息管理134.1.4 后台添加网站信息134.1.5 查看反馈信息144.2前台功能模块详细设计154.2.1前台主界面154.2.2前台用户日志模块164.2.3相册模块174.2.4音乐盒模块184.2.5个人档案模块194.2.6留言板模块194.2.7好友模块204.2.8好友主页面204.3

3、数据库的详细设计204.3.1数据表设计204.3.2数据库访问255 结论275.1不足之处与改进275.1.1权限分配275.1.3界面美观化275.2 结束语27附录1 参考文献28附录2 致 谢29摘 要随着计算机的发展和普及,Blog得到了极大的发展。Blog是Weblog(网络日志)的简称。Blog是即E-mail、BBS、ICQ之后的第四种网络交流方式。它以个人为中心传播出版有影响力的消息、新闻、事件等,鲜明的个人特色引人瞩目,它以独特的视角、敏锐的观察力,不断的冲击传统媒体。传统的Blog已经满足不了社会的需要,拥有更多更新功能的Blog急需走上舞台。该系统以ASP.NET为开

4、发技术,使用C#为开发语言,采用SQL Server 2005数据库并加入了Ajax技术同时采用三层(DAL.BLL.UI)开发模式,实现Blog网站的动态管理,使得对Blog信息的管理更加及时、高效,提高了工作效率。关键词:Blog,ASP.NET,C#,SQL Server第1页 共1页1 绪论1.1 系统开发背景随着计算机技术的发展和普及,Blog得到了极大的发展。Blog,是Weblog的简称。Blog是一种新的生活方式、新的工作方式、新的学习方式和交流方式。它是继E-mail、BBS、ICQ、之后出现的第4种网络交流方式。Blog主要应用于3个方面:一是新的人际交流方式;二是以个人为

5、中心的信息摘选和知识管理;三是以个人为中心的传播出版。Blog作为个人的一种学习工具,简单易用,吸引人的兴趣。Blog在教育方面得到了很大的发展,它将互联网从过去的通讯功能,资料功能、交流功能等进一步强化,使其更加个性化、开放化、实时化、全球化,把信息共享发展到资源共享、思想共享、生命历程共享。Blog已经成为一种继课件、积件、资源库、教育主题网站等信息化教学模式之后,新的网络应用模式。它是应时代的需求而兴起的,也是应时代需求不断进步的。1.2 课题研究的意义随着Blog人数的增加,Blog作为一种新的生活方式、新的工作方式和新的学习方式已经被越来越多的人所接受,并且在改变传统的网络和社会结构

6、。它使交流和沟通更有明确的选择和方向性;单一的思想和群体的智慧结合变得更加有效;个人出版变成人人都可以实现的梦想。Blog正在影响和改变着我们的生活。Blog是以网络作为载体,简易迅速便捷地发布自己的心得,及时有效轻松地与他人进行交流,再集丰富多彩的个性化展示于一体的综合性平台。展示丰富的个性化,对Blog功能的要求自然更高,新一代具有更多、更新、更全功能的Blog急需走进舞台。系统加入相册、音乐盒、好友列表、留言板、个人档案可以更加方便大家的交流。第 1页 共29页第 10页 共29页2 Blog系统开发技术2.1 ASP.NET2介绍本系统采用ASP.NET开发技术进行开发。ASP.NET

7、不仅仅是ASP的一个新版本,更是Web应用程序编程方面的一个全新的概念和方法。ASP.NET中的新功能并不是对ASP的改进,设计它的初衷是为用户入境提供最佳的应用程序架构。它相比于ASP有着以下几个方面的优点: 1.多语言ASP曾在脚本引擎方面受到了限制,特别是VBScript和Jscript。而ASP.NET则支持多种语言,默认情况下为Visual Basic.NET、C#和Jscript.NET,另外还支持一些第三方语言。2.服务器处理ASP在服务器处理上不管页面的内容是纯HTML还是ASP生成的HTML,它都是按照实现,形成所谓3-tier页面顺序显示的。因此逻辑代码依赖于它在页面中的位

8、置,并且无法将HTML控件作为目标,除非将它们作为流的一部分进行显示。而ASP.NET就解决了这个问题,方法是为控件引入一个声明的基于服务器的模型,因为控件在服务器上有,可以在服务器上编程,也可以是客户端驱动的事件。3.Web Form控件将现有的HTML控件转换为服务器端的控件是比较容易的,但是也存在一些不方便,例如比较难于区分HTML控件和服务器端的控件。于是Microsoft公司就创建了一组专门的服务器控件,它们都用asp:前缀标识。4.代码与内容分离一个网站的设计与开发往往由不同的人来实现的,而ASP中就是存在着这样一个问题,代码(ASP脚本)和内容(HTML)混合在一起。这样就使得同

9、时进行设计和开发变得很困难。而ASP.NET则采用了代码内联和后台编码两种方法实现了代码与内容的分离。2.2 三层架构开发模式3微软推荐的分层结构一般分为三层,从下至上分别为:数据访问层,业务逻辑层,表示层。3个层次中,系统主要功能更和业务逻辑层都在业务逻辑层处理。2.2.1三层架构的概述1.表示层:位于最上层,离用户最近。用于显示数据和接受用户输入的数据。为用户提供一种交互式操作界面。2.业务逻辑层:是系统架构中体现核心价值的部分。它的关注点主要集中在业务规则的制定、业务流程的实现等与业务需求有关的系统设计,也就是说它是与系统所对应的领域逻辑有关,他处于数据访问层与表示层中间,起到了数据交换

10、中承上启下的作用。3.数据访问层:有时候也称为持久层,其功能主要是负责数据库的访问,可以访问数据库系统、二进制文件、文本文档或是xml文档。简单的说法就是实现对数据表的select、insert、update、delete的操作。2.2.2三层架构的优缺点(1)优点: 1.开发人员可一直关注整个结构中的其中某一层; 2.可以很容易的用心的实现来替代原有层次的实现; 3.可以降低层与层之间的依赖; 4.有利于标准化; 5.利于各个逻辑的复用,具有灵活的硬件系统构成; 6.对于各个层可以选择与其处理负荷和处理特性相适应的硬件,这是系统可伸缩性的问题 ; 7.提高了系统的可维护性,各层可以并行开发,

11、也可以选择各自的开发语言或工具。 (2)缺点: 1.降低了系统的性能; 2.有时会导致级联的修改; 3.开发周期长、造价高、维护费用高。2.3 Ajax4介绍2.3.1什么是AjaxAjax是Asynchronous JavaScript and XML的缩写,即异步JavaScript 和XML。Ajax是一种客户端技术,Ajax技术借助异步JavaScript实现浏览器和服务器之间的异步交互,即相当于在Web应用中实现了原来C/S(Client/Server)结构下的交互结果,且这种效果的实现并没有带来繁琐的客户部署工作。在Ajax模式下,如果知识需要变更部分数据,则并不将整个页面重新载入

12、,二十通过Ajax技术向服务器发送请求,通过Css和Xhtml将影响的内容表示出来。可以看出,Ajax技术大大降低了服务器与客户端之间的数据流量,很大程度的提高了相应速度。同时,由于不是每次都发挥整个页面,也能大大减少出现空白页面的情况,界面友好度有很大的提高!2.3.2 Ajax相关技术介绍Ajax是多种技术的综合应用,包括JavaScipt脚本、CSS、DOM和重要对象XMLHttpRequest。1.JavaScipt是一种可以与HTML标记混合使用的脚本语言,需要有Web浏览器进行解释和执行,还提供了一种操控Web浏览器的手段。JavaScipt脚本中可以调用浏览器及Ajax中提供的相

13、关对象。利用这些对象的属性方法可以实现页面效果的动态控制。2.CSS是层叠样式表。它是一个附着于Xtml元素的样式语言。样式单是一个定义了若干样式的模板。通过CSS可以很方便的控制整个Html文档中的每一个元素的样式。它主要有两种工作方式:嵌入式,内联式。3.DOM的全称是文档对象模型(Document Object Model),它在本质上是一种文档平台。在使用Ajax技术中,借助DOM,可以结合脚本语言实现动态的数据存储以及动态上传文件。4.XMLHttpRequest是Ajax技术中最重要的一个对象。页面可以在不刷新的情况下通过它发送请求来获取服务器响应。也可以使用该对象在不刷新当前页面

14、的情况下更新页面中的数据。2.3.3 Ajax技术在系统中的应用Ajax技术运用于该系统的所有的翻页功能。通过该技术实现了翻页时不在全部刷新的问题。减少运行时间,界面友好。2.4 数据库1本系统才用SQL SERVER2005做为后台数据库,采用ADO.NET技术对数据进行操作。2.4.1 SQL SERVER 2005SQL SERVER2005是可以在WEB上运行的数据库服务产品。是按client/server结构设计。它既可适用于桌面系统的单用户数据库,也可适用于企业的网络数据库,甚至适用于专业的WEB站点数据库,具有很强的可伸缩性。并且具有很高的可靠性、可用性和可管理性。从经济和开发效

15、率上适合中小型网站。数据库引擎中加入了.NET的公共语言执行环境,使用.NET语言可以穿件数据库对象,并且支持xml语言同时,能更好的协调工作。SQL SERVER2005对数据的安全性也有一定的保障,采用权限验证模式和数据库用户及账号来保证数据库的安全性。并拥有多种版本来满足不同的需要。 2.4.2 ADO.NET 它提供了平台互用性和可伸缩的数据访问。ADO.NET增强了对非连接编程模式的支持,并支持RICH XML。由于传送的数据都是XML格式的,因此任何能够读取XML格式的应用程序都可以进行数据处理。事实上,接受数据的组件不一定要是ADO .NET组件,它可以是基于一个Microsof

16、t Visual Studio的解决方案,也可以是任何运行在其它平台上的任何应用程序。ADO.NET体系结构如下图所示.NET Framework 数据提供程序DatasetData TableCollection数据表DataAdapterConnection事务Command参数DataReaderDeleteCommandUpdateCommandInsertCommandSelectCommand数据库DataRowCollectionConstraintCollectionDataColumnCollectionnDataRelationCollectionXML图2.1 ADO.N

17、ET体系结构图ADO.NET是一组用于和数据源进行交互的面向对象类库。通常情况下,数据源是数据库,但它同样也能够是文本文件、Excel表格或者XML文件。 ADO.NET允许和不同类型的数据源以及数据库进行交互。然而并没有与此相关的一系列类来完成这样的工作。因为不同的数据源采用不同的协议,所以对于不同的数据源必须采用相应的协议。一些老式的数据源使用ODBC协议,许多新的数据源使用OleDb协议,并且现在还不断出现更多的数据源,这些数据源都可以通过.NET的ADO.NET类库来进行连接。2.5 ASP.NET配置A的配置文件都是XML格式的文件,XML格式文件易于书写和定制,采用这种方法进行配置

18、方便灵活。另外,的配置都是可以随时更改的,即应用程序运行期间,可以随时增加和删除配置文件中的项目,修改后可以立刻激活使用比当配置发生变化时需要服务重新启动配置才生效的方法有很大的优势。该系统运用了fig文件进行配置web服务器,使用web.config文件配置web服务器简明扼要。Web.config文件是采用XML格式进行编写的XML文件。2.6 XMLXML是Extensible Markup Language(可扩展标记语言)。它是一种存储数据的方法。它提供一种独立于应用程序的格式来保存数据,且容易实现不同应用程序之间的数据共享。与数据库相比,它不需要任何专用软件就可以创建和管理XML文

19、档,只要一个文本编辑器就可以了;而数据库需要专门的数据库管理系统对数据进行管理。3 BLOG系统分析3.1 系统设计方案本系统是面向个人用户和小型集体用户开发的系统,完成用户在Blog上进行预定操作,实现用户和用户之间的双向沟通。具体设计方案为:(1) 系统服务器为IIS,数据库为SQLSERVER2005,整个系统界面采用Microsoft visual Studio 2008开发。(2) 系统采用三层架构,用C#语言实现。(3) 服务器与数据库的连接使用SqlClien编程接口的SqlConnection对象进行连接。(4) 系统分成两部分,前台为普通用户操作界面,功能包括:注册、找回密码

20、、日志、相册、音乐盒、好友、留言板、个人信息、通过好友列表访问好友博客,反馈信息。后台为管理员操作页面,功能: 管理员信息管理、用户信息管理、添加网站内容、查看反馈信息。3.2 系统功能模块系统功能模块包括两大块:管理界面功能模块和普通用户界面功能模块。其具体功能如下所示:1.管理员功能:管理员信息管理、用户信息管理、添加网站内容、查看反馈信息。2.管理员信息管理:信息的添加,修改,删除。3.用户信息管理:查看。4.添加网站内容:添加网站链接,添加歌曲。5.查看反馈信息:方便收集信息。6.普通用户功能:注册、找回密码、日志、相册、音乐盒、好友、留言板、个人信息、通过好友列表访问好友博客,反馈信

21、息。7.日志:日志的发表,修改,查看,评论。8.相册:相册的添加,修改,删除。照片的添加,删除,查看。9.音乐盒:音乐专辑添加,删除。音乐的添加,删除,修改,播放。10.好友:好友的查找,添加,删除,进入好友的博客。11.留言板:留言的删除和回复。12.反馈信息:登陆后可以反馈信息给管理员。 管理员用户功能模块图如下: 系统首页登陆页面管理员信息管理用户信息管理添加网站内容查看用户反馈信息图3.1管理员功能模块图普通用户功能模块图如下:系统首页找回密码用户注册登陆页面个人信息模块反馈信息模块留言板模块好友模块音乐盒模块相册模块日志模块图3.2 普通用户功能模块图3.3 数据库需求分析1.用户分

22、为普通用户和管理员用户。2.管理员涉及管理员信息管理、用户信息管理、添加网站信息、反馈信息理。3.普通用户包括注册、找回密码、日志、相册、音乐盒、好友、留言板、人信息、通过好友列表访问好友博客,反馈信息。对上面系统功能分析,设计如下数据项:1. 管理员信息:编号、管理员名、密码、真实姓名、性别、邮箱、地址、电话、qq。2. 网站动态链接:链接编号、链接名称、链接地址。3. 用户信息反馈表:编号、用户名、反馈信息。4. 日志表:日志编号、用户编号、日志标题、日志内容、日志发表日期。5. 日志评论:评论编号、评论用户编号、日志编号、评论内容、评论时间评论人编号。6. 好友表:编号、用户编号、朋友所

23、属编号。7. 照片表:编号、用户编号、相册编号、缩略图地址、照片地址。8. 留言表:编号、用户编号、内容、添加时间、留言人编号。9. 用户音乐表:编号、音乐名称、所属专辑编号、歌手名称、音乐类型、添加类型、用户编号、存储地址。10. 相册列表:编号、用户编号、相册封面地址、相册名称、添加时间。11. 后台音乐填充表:编号、歌曲名称、歌手、添加人编号、添加时间、备注、存储地址。12. 音乐专辑列表:编号、专辑名臣、添加时间、用户编号。13. 用户表:编号、用户名、用户密码、头像、真实姓名、密保问题、问题答案、年龄、性别、邮箱、qq、电话。3.4 系统操作流程分析传统Blog系统这一环节所应具有的

24、功能,可以得到Blog系统应具有以下功能:高级系统用户(管理员)通过浏览器,可以实现网站的管理(对文章的各种信息进行浏览、增加、删除、修改等)、普通系统用户对文章信息只能阅读和留言。而该系统添加了日志、相册、音乐盒、好友、个人留言板等功能。相对的管理员也相对添加了音乐的添加,动态链接的添加等功能。由此得到的系统的流程图如图3-3所示管理员信息管理用户信息管理添加网站内容管理员登陆查看用户反馈信息首页个人日志管理个人相册管理用户登陆个人音乐盒管理好友列表管理个人信息管理留言板管理添加反馈信息图 3.3 系统操作流程图3.5 组件和样式分析博客系统中存在很多相同或相似的元素,这些元素可能是页面的标

25、题,可能是页面的版权声明,也可能是文章的列表或是登录信息框。需要寻找一种方式在整个系统中共享,而不需在变化时修改所有的页面。所以就采用了母版文件进行管理以及用户自定义组件。3.6 用户控件ASP.NET为开发人员提供了用户控件这一新技术来实现Web元素的共享,开发人员可以通过Visual Studio.Net进行Web元素的外面的开发,同时可以通过Web元素后台代码的方式进行表现层的开发。设计用户控件提高了代码的可重复使用的性能。在本系统中,使用了Footer、Href、music、Reply、diaryslf、diaryDetilelf等用户控件。4 BLOG系统设计一个系统能正常使用,安全

26、性是非常重要的一个部分。本系统采用三层架构,对数据库基本操纵代码和业务逻辑代码分离的方式,保证系统的安全性。并在登陆页面添加验证代码,保证系统安全性。4.1后台功能模块详细设计通过此功能用户可以对主页中的许多功能和数据进行操作控制。4.1.1 身份验证管理员通过此登陆入口进入管理界面,此入口需要填写正确的用户名和密码才能够登陆,非法ID不能够登陆,其界面如图4.1所示:图4.1 管理员登录界面对数据表tb_Admin访问,进行登录验证,验证成功进入后台主页面显示管理员信息表。关键代码:BlogSystem.BLL.AdminService my = new BlogSystem.BLL.Adm

27、inService(); protected void btnOK_Click(object sender, EventArgs e) Sessionadminname = txtUid.Text; DataTable dt = my.selectadmin(txtUid.Text, txtPwd.Text); if (dt!=null &dt.Rows.Count 0) Response.Redirect(admin.aspx); else Response.Write(alert(您当前使用的用户名和密码无法登陆!); 4.1.2 后台管理员信息管理管理员可以在此页面操作管理员信息管理功能

28、,这些功能可以对管理员进行添加、删除、修改等操作:图4.2 管理员操作界面关键代码: BlogSystem.BLL.AdminServicemyadmin=new BlogSystem.BLL.AdminService(); public void userBind() DataTable dt = myadmin.Seladmin(); GridView1.DataSource = dt; GridView1.DataKeyNames = new string ID ; GridView1.DataBind(); protected void GridView1_RowDeleting(ob

29、ject sender, GridViewDeleteEventArgs e) BlogSystem.BLL.AdminService ad = new BlogSystem.BLL.AdminService(); int i = Convert.ToInt16(GridView1.DataKeyse.RowIndex.Value); bool f = ad.Deleteadmin(i); if (f = true) Response.Write(alert(删除成功!); Page.Response.Redirect(admin.aspx); else Response.Write(aler

30、t(删除失败!); 4.1.3 后台用户信息管理图4.3 用户信息管理界面关键代码:BlogSystem.BLL.UserService myuser = new BlogSystem.BLL.UserService(); public void AdminBind() DataTable dt = new DataTable(); dt = myuser.Seluser1(); GridView1.DataSource = dt; GridView1.DataBind(); 4.1.4 后台添加网站信息图4.4 添加信息界面关键代码: if (music != ) int i = music

31、.LastIndexOf(.); string str = music.Substring(i + 1); bool b = false; if (str = mp3) string savepath = Server.MapPath(/Music); FileUpload1.SaveAs(savepath + + music);/保存歌曲 string dbpath = ./Music/ + music; string name = txtSong.Text; string singername = txtSinger.Text; string beizhu = txtIntroduce.T

32、ext; b = myinsertsong.UpLoadSongdb(name, singername, adminid,dbpath,beizhu); if (b = true) Response.Write(alert(歌曲上传成功!);); Panel2.Visible = true; Panel1.Visible = false; 4.1.5 查看反馈信息图4.5 查看反馈信息界面 关键代码: PagedDataSource objPage; int CurPage; private void DataListBind() objPage = new PagedDataSource()

33、; objPage.AllowPaging = true; objPage.PageSize = 6; objPage.DataSource = dt.DefaultView; string count = dt.Rows.Count.ToString(); lbCount.Text = 总记录: + count; string pageCount = objPage.PageCount.ToString(); ViewStatePageCount = objPage.PageCount; lbTotalPage.Text = 总页数: + pageCount; if (lbCurrent.T

34、ext != ) CurPage = int.Parse(lbCurrent.Text); if (CurPage = 1) bttnFrist.Enabled = false; bttnPrev.Enabled = false; if (CurPage = objPage.PageCount) bttnNext.Enabled = false; bttnEnd.Enabled = false; DataList1.DataSource = objPage; DataList1.DataBind(); 4.2前台功能模块详细设计4.2.1前台主界面前台主界面图如下:图4.6 前台主界面该页面是

35、普通用户登陆后的第二页面。也可以直接进入匿名想要浏览的页面。4.2.2前台用户日志模块 前台普通用户日志界面如下图所示:图4.7 日志模块主界面该模块的功能是对日志的发表,查看,修改,和查看评论等功能。分页代码如上页。其关键代码如下:public string HTMLEncodeForString(string str) char c = new char10; string s; if (str.Length = 0) return str; c0 = (char)32; s = new string(c); str = str.Replace(s,  ); str = str.

36、Replace(Convert.ToString(char)9),  );/制表符 c0 = (char)34;/ s = new string(c); str = str.Replace(s, "); c0 = (char)39;/ s = new string(c); str = str.Replace(s, '); c0 = (char)13;/回车 s = new string(c); str = str.Replace(s, ); c0 = (char)10;/回车换行 c1 = (char)13; s = new string(c); str = str

37、.Replace(s, ); c0 = (char)10;/换行 s = new string(c); str = str.Replace(s, ); return str; 4.2.3相册模块用户可以通过该页面进行相册照片的添加删除修改和查看。图4.8 相册模块主界面关键代码为:System.Drawing.Image oldimage = System.Drawing.Image.FromFile(Server.MapPath(file);System.Drawing.Image thumbnailImage = oldimage.GetThumbnailImage(100, 134, n

38、ew System.Drawing.Image.GetThumbnailImageAbort(ThumbnailCallback), IntPtr.Zero);Bitmap output = new Bitmap(thumbnailImage); Graphics g = Graphics.FromImage(output);g.DrawString(strAdd, new Font(Courier New, 14), new SolidBrush(Color.Red), 0, 0);output.Save(Server.MapPath(newfile), System.Drawing.Ima

39、ging.ImageFormat.Jpeg);f = myimage.insertimage(Convert.ToInt16(Sessionuserid), Convert.ToInt16(DropDownList1.SelectedValue), PicPath, newfile);if (f=true) if (name = 1) bool m = myphoto.updatephoto(Convert.ToInt16(Sessionuserid), Convert.ToInt16(DropDownList1.SelectedValue), newfile);Response.Write(

40、window.open (xiaoxi2.aspx, , height=300, width=400, top=300, left=300, toolbar=no, menubar=no, scrollbars=no, resizable=no,location=no, status=no) ); Response.Write(javascript:window.opener=null;window.close();); 4.2.4音乐盒模块音乐盒界面如下: 图4.9 音乐盒主界面该页面采用了调用第三方控件技术实现页音乐播放的效果。关键方法代码如下:if (e.CommandName = listen) string s= e.CommandArgument.ToString(); FileStream fs = File.Open(Server.MapPath(/playfile/) + play.txt, FileMode.OpenOrCreate, FileAccess.ReadWrite); StreamWriter sw = new StreamWriter(fs, Encoding.Default); int mid = int.Parse(e.CommandArgument.ToString(

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1