常用第三方工具与控件

上传人:s9****2 文档编号:577906251 上传时间:2024-08-23 格式:PPT 页数:27 大小:666.52KB
返回 下载 相关 举报
常用第三方工具与控件_第1页
第1页 / 共27页
常用第三方工具与控件_第2页
第2页 / 共27页
常用第三方工具与控件_第3页
第3页 / 共27页
常用第三方工具与控件_第4页
第4页 / 共27页
常用第三方工具与控件_第5页
第5页 / 共27页
点击查看更多>>
资源描述

《常用第三方工具与控件》由会员分享,可在线阅读,更多相关《常用第三方工具与控件(27页珍藏版)》请在金锄头文库上搜索。

1、常用第三方工具与控件常用第三方工具与控件常用第三方工具与控件常用第三方工具与控件本章目标本章目标会使用验证码控件制作验证码会使用验证码控件制作验证码会使用会使用FreeTextBox控件录入富文本控件录入富文本能使用能使用CodeSmith生成实体类代码生成实体类代码第三方控件第三方控件微软提供的控件微软提供的控件不够丰富不够丰富偶尔效果不理想(比如日历)偶尔效果不理想(比如日历)第三方控件第三方控件简单方便简单方便大部分可以免费下载大部分可以免费下载有使用说明有使用说明拿来主义拿来主义验证码验证码百度注册的页面百度注册的页面为什么需要验证码?为什么需要验证码?防止不法分子通过穷举方式破解密码

2、、盗取钱财。防止不法分子通过穷举方式破解密码、盗取钱财。防止竞争对手通过大量注册,破坏网站的稳定。防止竞争对手通过大量注册,破坏网站的稳定。验证码验证码验证方式验证方式基于基于Cookie的验证的验证Js脚本验证,美观方便,无刷新脚本验证,美观方便,无刷新Cookie在客户端,不够安全,且编码复杂在客户端,不够安全,且编码复杂基于基于Session的验证的验证相对安全,仍需要手写编码相对安全,仍需要手写编码基于控件的验证基于控件的验证使用方便,很少或无须手写编码使用方便,很少或无须手写编码比较安全比较安全验证码控件验证码控件演示演示Webvalidates的使用方式的使用方式添加控件到工具栏添

3、加控件到工具栏将控件拖放到注册页面将控件拖放到注册页面编写注册验证代码编写注册验证代码演示示例:演示示例:使用验证码的注册页面使用验证码的注册页面验证代码验证代码protectedvoidPage_Load(.)if(!this.IsPostBack)snCode.Create();protectedvoidbtnSubmit_Click(.)if(!snCode.CheckSN(this.txtCode.Text).snCode.Create();else.生成验证码,注意只在首次生成验证码,注意只在首次加载时使用加载时使用比较验证码是否正确,比较验证码是否正确,返回布尔型结果返回布尔型结果

4、小结小结简述将第三方控件显示在工具栏的步骤。简述将第三方控件显示在工具栏的步骤。验证码控件验证码控件Webvalidates的哪个方法可以生成一个新的的哪个方法可以生成一个新的验证码?验证码?Web开发中,哪些地方需要验证码?开发中,哪些地方需要验证码?HTML的录入的录入第三波网络书店的图书目录中,要显示下面一部分内容:第三波网络书店的图书目录中,要显示下面一部分内容:实际上,该部分的内容是实际上,该部分的内容是第第部分部分CLR基础基础第第1章章CLR的执的执行模型行模型就是说,我们在录入目录信息时,需要编写就是说,我们在录入目录信息时,需要编写HTML代码才能达到所需的代码才能达到所需的

5、效果。效果。能不能像能不能像Word那样编辑带格式的内容呢?那样编辑带格式的内容呢?在线文本编辑器在线文本编辑器在线文本编辑器在线文本编辑器解决了解决了HTML格式录入的问题格式录入的问题常用的在线文本编辑器常用的在线文本编辑器RichTextBox,最早的富文本控件,富文本控件因它而得名;,最早的富文本控件,富文本控件因它而得名;FCKeditor,是国外一个开源的项目;,是国外一个开源的项目;CuteEditor,功能最为完善,但它自身也是相当庞大的;,功能最为完善,但它自身也是相当庞大的;eWebEditor,国产软件,有中国特色;,国产软件,有中国特色;FreeTextBox,简单方便

6、,国内使用相当普遍。,简单方便,国内使用相当普遍。FreeTextBox演示演示FreeTextBox的使用的使用将将FreeTextBox添加入工具栏添加入工具栏将将FreeTextBox控件放入图书的编辑和添加模板中控件放入图书的编辑和添加模板中设置相关设置相关ObjectDataSource参数参数查看运行效果查看运行效果演示示例:演示示例:图书目录的编辑录入图书目录的编辑录入编码回顾编码回顾回顾网上书店开发过程回顾网上书店开发过程模型层模型层把数据库的表变成类把数据库的表变成类数据层数据层增、查、改、删(增、查、改、删(CRUT)业务层业务层调用数据层进行增查改删调用数据层进行增查改删

7、能否简化减少重复编码,提高开发效率?能否简化减少重复编码,提高开发效率?使用工具生成代码使用工具生成代码重复进行相似的工作重复进行相似的工作代码生成工具代码生成工具常见代码生成工具常见代码生成工具CodeSmith国外最著名的商业代码生成器。国外最著名的商业代码生成器。宣扬快捷开发,支持多种语言宣扬快捷开发,支持多种语言代码生成工具代码生成工具常见代码生成工具常见代码生成工具CodeSmithMyGeneratoe:国外著名免费代码生成器,开源软件。:国外著名免费代码生成器,开源软件。Codematic国内人气最旺的免费代码生成器,国内人气最旺的免费代码生成器,基于基于C#和和SQLServe

8、r,方便快捷,方便快捷,可自动生成整站代码可自动生成整站代码代码生成工具代码生成工具常见代码生成工具常见代码生成工具CodeSmithMyGeneratoe:国外著名免费代码生成器,开源软件。:国外著名免费代码生成器,开源软件。CodematicMacrObject国内一款不错的商业代码生成器,基于国内一款不错的商业代码生成器,基于Nuva(女娲女娲)语言。语言。支持多套模板一次生成代码支持多套模板一次生成代码能够保存数据架构和配置信息能够保存数据架构和配置信息应用最广泛应用最广泛初识初识CodeSmith演示生成演示生成Book实体类实体类打开打开CodeSmithExplorer找到找到D

9、atabaseSchema中的模板中的模板businessobject.cst双击该模板,选择数据表(需要添加数据连接)双击该模板,选择数据表(需要添加数据连接)单击单击“Generate”(生成)(生成)查看生成的代码,并与我们使用的实体类相比较查看生成的代码,并与我们使用的实体类相比较演示示例:演示示例:实体类的生成实体类的生成实体类生成了,但却不是我们想要的格式实体类生成了,但却不是我们想要的格式CodeSmith的模板的模板模板模板是代码生成的基础是代码生成的基础以以.cst为后缀名为后缀名可以使用可以使用C#语言编写代码语言编写代码CodeSmith的模板由以下三部分组成的模板由以下

10、三部分组成静态内容:固定不变的内容(实体类中的静态内容:固定不变的内容(实体类中的“public”等);等);能够自动生成的内容(当前时间等);能够自动生成的内容(当前时间等);动态内容:需要用户指定的内容(参数)。动态内容:需要用户指定的内容(参数)。CodeSmith模板入门模板入门声明模板属性声明模板属性定义参数定义参数编写模板使用的语言编写模板使用的语言确认生成文件类型确认生成文件类型该参数需输入该参数需输入CodeSmith模板入门模板入门基本语法基本语法脚本标签脚本标签publicstringDrawLine(intnum)stringstr=;for(inti=0;i=num;i

11、+)str+=*;returnstr;可使用与可使用与C#编码一样的编码一样的方式编写代码方式编写代码CodeSmith模板入门模板入门基本语法基本语法脚本标签脚本标签代码标签代码标签编写第一个模板,查看生产效果编写第一个模板,查看生产效果演示:演示:第一个模板第一个模板=0;i-)%标签:可以放置任意数标签:可以放置任意数量的代码在其中,但并不能直量的代码在其中,但并不能直接输出到模版中。接输出到模版中。标签:在模版中输出标签:在模版中输出一个字符串一个字符串CodeSmith模板进阶模板进阶生成实体类的需求生成实体类的需求类名:如果表名后面有类名:如果表名后面有“s”(如(如Books),

12、则类名),则类名=表名表名-“s”;否则类名否则类名=表名。表名。字段:首字母小写,并依据相应数据库中的类型设置字段类型和字段:首字母小写,并依据相应数据库中的类型设置字段类型和默认值。默认值。外键:外键字段名外键:外键字段名=外键对象名外键对象名+“Id”usingSystem;usingSystem.Collections.Generic;usingSystem.Text;namespaceMyBookShop.ModelsSerializable()publicclassBookprivateintid;privatestringtitle=String.Empty;privatestr

13、ingauthor=String.Empty;privatePublisherpublisher;privateCategorycategory;数据库访问组件数据库访问组件组件的引用组件的引用组件的使用组件的使用ForeignKeyColumns:所有外键列的集合:所有外键列的集合NonForeignKeyColumns:所有非外键列的集合:所有非外键列的集合NonKeyColumns:所有既不是主键又不是外键的列的集合:所有既不是主键又不是外键的列的集合TableSchema/表的类型表的类型ColumnSchema/列的类型列的类型编写仅包含字段的实体类模板编写仅包含字段的实体类模板编写

14、模板编写模板设置参数为数据表设置参数为数据表添加模板代码和方法添加模板代码和方法publicstringGetColumnName(ColumnSchemacolumn)if(column.IsForeignKeyMember)returncolumn.Name.Substring(0,column.Name.Length-2);returncolumn.Name;针对外键,去掉末尾的针对外键,去掉末尾的“Id”演示:演示:MyField设置参数为表格类型设置参数为表格类型文件名文件名控制生成的文件名控制生成的文件名我们的实体类都是以类名我们的实体类都是以类名.cs作为文件名,要达到这个目的,

15、可以作为文件名,要达到这个目的,可以通过重载通过重载GetFileName方法实现方法实现代码代码publicoverridestringGetFileName()returnGetClassName(this.SourceTable)+.cs;如果不重写该方法,则保存时的文件名以模板名称作为默认文件名,如果不重写该方法,则保存时的文件名以模板名称作为默认文件名,以以TargetLanguage指定的类型确定后缀名指定的类型确定后缀名综合示例综合示例最终的实体类模板最终的实体类模板在生成字段的基础上,添加属性的生成。在生成字段的基础上,添加属性的生成。重载重载GetFileName方法,使默认

16、保存的文件名为方法,使默认保存的文件名为“类名类名.cs”。演示:演示:MyObject小结小结只能使用只能使用C#语法编写模板么?语法编写模板么?参数声明时,哪个属性标记参数的类型?参数声明时,哪个属性标记参数的类型?访问数据库的表,需要引用哪个组件?访问数据库的表,需要引用哪个组件?总结总结验证码有哪几种实现方式?验证码有哪几种实现方式?CodeSmith代码生成的核心思想是什么?代码生成的核心思想是什么?在生成实体类的模板中,外键的处理应用了我们的哪个规在生成实体类的模板中,外键的处理应用了我们的哪个规则?则?编写编写CodeSmith的模板之前,需要考虑清楚哪三部分内容的模板之前,需要考虑清楚哪三部分内容?

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 工作计划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号