-------4.1 系统框架 1表示层:Web 项目,即访问的站点,提供与所有用户进行的交互界面,通过 BLL 层相关方法。
2业务逻辑层:BLL 项目,为表示层提供所有的业务方法和数据访问。
3数据访问层:DALFactory 项目,IDAL 项目、OracleDAL 或 SQLServerDAL 项目属于数据访问层。
4模型层:Model 项目,包含与数据库相对应的实体类,作为层与层数据传递的载体。
4.2 搭建第三波书店的架构 模型层是标准、规范、三层之间的数据传递,通过传输实体对象来达到目的。
它包含了与数据库表相对应的实体类,在模型层中,外键的处理可以有两种方式,使用外键 ID 或者使用外键类。
外键类的优点是可以直接使用属性访问。
数据访问层涉及所有与数据表相关的操作,分为增、删、查、改CRUD四中类型的方法,为增加代码的重要性,我们使用了 DBHelper 类。
业务逻辑层包含了所有业务逻辑的处理方法,并提供表示层和数据访问层交互的桥梁。
表示层是整个站点内容的展示和用户交互的处理,可以做简单的验证。
--------------------------------------- 第 五 章----------------------------------------------5.1 数据查询与展示概述 1数据源空间,由 System.Web.UI.DataSourceControls 类派生而来。
结构图 Control 类 ├→DataSouceControl 控件普通数据源控件 │ ├→ObjectDataSource 将业务逻辑层的数据对象与表示层数据绑定控件绑定 │ └→SqlDataSource 从 SQLServer、ODBC、Oracle 等数据源中检索数据 │ └→AccessDataSource 专门用于从
Access 数据库中检索数据 └→HierarchicalDataSourceControl 层次化数据源控件 ├→XmlDataSource 用于检索和处理 xml 等分层数据。
└→SiteMapDataSource 专门处理类似站点地图的 xml 数据。
2数据绑定控件 结构图: BaseDataBoundControl ├→HierarchcalDataBoundControl │ ├→TreeView │ └→Menu └→DataBoundControl ├→AdRototor ├→ListControl │ ├→DropDownList │ ├→CheckBoxList │ ├→RadioButtonList │ ├→ListBox │ └→BulletList └→CompositeDataBoundControl ├→GridView ├→DetailsView └→FormView5.2 实现图书的分类管理 1GridView 控件提供的 7 种数据绑定列类型 ①BoundFeld 用于显示普通文本,其属性 DataFormatString 用于设置显示格式: 0:D为数字;0:yy-mm-dd日期格式。
需要设置 HtmlCode 为 false,否则无效。
②TemplateFiled 以模板形式自定义数据绑定列的内容。
包含标头HeaderTemplate、脚注FooterTemplate、普通项ItemTemplate、交替 项AlternatingTemplate、编辑模式EditItemTemplate ③ButtonField 按钮,通过 CommandName 设置按钮的命令。
④CommandField 与 ButtonField 类似,提供了创建命令按钮的功能。
执行选择、编辑、 插入或删除操作命令。
⑤ HyperLinkField 可 将 绑 定 的 数 据 超 链 接 显 示 , 其 属 性DataNavigateUrlFormatString 用于指向目标页面地址的格式;DataNavigateUrlField 为传递的参数。
例如: ltasp:HyperLinkFieldDataNavigateUrlFormatStringDetailsView.aspxid0 DataNavigateUrlFieldquotIdquot Textquot详细quotgtlt/asp:HyperLinkFieldgt ⑥ImageField 可显示图片列,一般绑定图片的路径。
例如: ltasp:ImageField HeadTextquot封面quot DataImageUrlFieldquotISBNquot DataImageUrlFormatString/images/bookcover/0.jpggtlt/asp:ImageFieldgt ⑦CheckBoxField 可使用复选框显示显示布尔类型数据 2多选和光棒效果 ①多选效果关键代码 Function GetAllCheckBoxcheckAll var itemsdocument.getElementsByTagNamequotinputquot fori0iltitems.lengthi ifitemsi.typequotcheckBoxquot itemsi.checkBoxCheckAll.checked ②光棒效果,在 GridView 中 onRowDataBound 事件中绑定如下: ife.Row.RowType DataControlRowType.DataRow e.Row.Attributes.Addquotonmouseoverquotquotcurrentcolorthis.style. backgroundColorthis.style.backgroundColor6699ffquot e.Row.Attributes.Addquotonmouseoutquotquotthis.style.backgroundColorquotcurrentcolorquot 3DropDownList 常用属性和事件 ①SelectedItem 属性: 设置或获取下拉菜单的选中项。
Value 值; Text 显示文本。
②SelectedValue 属性: 获取选择项的值,与 SelectedItem.Value 一致。
③DataTextField 属性: 设置或获取提供列表项文本内容的数据源的字段。
④DataValueField 属性:设置或获取提供列表项值的数据源的字段。
⑤AutoPostBack 属性: 控件状态是否回发,默认 false。
⑥SelectIndexChanged 事件:点选定内容改变时发生。
4DetailsView 控件 属性: ①DefaultMode: 设置或获取控件默认的状态。
分为 ReadOnly 显示,Edit 修改,Insert 添加 ②Datakey: 数据的主键。
③DatakeyNames:设置或获取一个字符串,该字符串包含数据源中间的组合。
事件: ①ItemInserting:单击添加按钮,执行添加方法之前添加。
②ItemUpdating: 单击更新按钮,执行更新方法之前添加。
附:CurrentMode 用于判断 DetailView 的状态。
--------------------------------------- 第 六 章 数 据 插 入 与 更新-------------------------------6.1 验证控件结构图 WebControl ├→ValidationSummary 汇总所有的错误报告 └→Label └→BaseValidator 基础验证类;抽象类 ├→RequiredFieldValidator 非空验证 ├→RegularExceptionValidator 正则表达式验证 ├→CustomValidator 自定义验证 └→BaseCompareValidator ├→RangeValidator 范围检查 └→CompareValidator 两次密码和数据类型的验证 1RequiredFieldValidator 属性:ControlToValidate 验证控件的 ID,所有验证控件都有该属性。
Text 出错时的提示,所有验证控件都有该属性。
ErrorMessage 提交给汇总控件的错误信息。
所有验证控件都有该属性。
2CompareValidator 属性:ControlToValidate 验证控件的 ID。
Type 设置比较类型。
Operator 设置比较运算符,默认为 equals。
ValueToCompare 用于比较的值。
3RangeValidator 属性:MaximumValue 范围的上界。
MinimumValue 范围的下界。
Type 验证类型。
4RegularExceptionValidator 属性:RegularExpression 正则表达式编辑器。
5CustomValidator 属性:ClientValidationFunction 用于设置客户端验证的脚本函数。
OnServerValidate 服务器端验证的时间方法。
6ValidationSummary 属性:ShowMessageBox 是否显示弹出的提示信息。
ShowSummary 是否显示报告的内容,用于显示提示消息的时候。
7IsValid 属性用于判断页面中所有输入是否已通过验证,为服务器端验证。
6.2 图书的修改 1Calendar 日历控件日历的显示、隐藏、选择时会回传,浪费资源 属性:SelectedDate 设置或获取选择的日期。
VisibleDate 当前可见的日期默认显示的月份 TitleFormat 标题格式quot某月quot或quot某年某月quot 事件:SelectionChanged 选择某日期后的事件。
2JS 版日历页面无刷新,界面美观 首先导入 JS 文件,再在文本框的 onFocus 事件中调用函数。
3图片上传 FileUpload 控件 4ImageMap 控件在图片中定义一些热点区域 5HyperLink 超链接控件 属性:NavigateUrl 设置或获取超链接所指向的 Url 地址。
ImageUrl 可设置为图片形式的链接。
Text 链接显示的文本。
6MultiView 多视图控件,一般与 View 控件一起使用。
属性:ActiveViewIndex 设置或获取当前被激活显示的 View 的索引值。
--------------------------------------- 第 七 章 数 据 查 询 与 展 示DataList-----------------------7.1 图书列表页的展示:DataList 结构图:System.Web.UI.Control ├→Repeater └→WebControl ├→BaseDataList │ └→DataList └→BaseDataBoundControl ├→DataBoundControl ├→CompositeDataBoundControl └→GridView 1DataList 控件模版:ItemTemplate 显示项的模版 SeparatorTemplate 分隔符的模版 2分页的实现: ①基于 SQL 语句: a.子查询:Select Top PageSize from 表名 where 条件 and id not in Select Top PageSizeCurrentPageIndex-1 id from 表名 Order by 排序 Order by 排序 b.函数 Row_NUMBER: Select from Select Row_NUMBER overorder by 排序 as PriceRank from books as Rank where PriceRank between 21 and 30 order by 排序 ②基于 PagedDataSource 类的分页 属性:CurrentPageIndex 当前页 PageCount 总页数 Count 总记录数 PageSize 每页记录数 DataSource 数据源 AllowPaging 控件是否实现自动分页 ③页面级的状态保持:ViewState 语法:ViewStatequot名称quot 值; 原理:在页面上放了一个隐藏域,数据回传时其内容一起回传。
7.2 Repeater 控件的用法 优点:不自动生成任何 Html 标签,带来了效率的提升,精确展示内容。
缺点:可用模版少,只能通过源代码视图进行模版的编辑。
--------------------------------------- 第 八 章 常 用 第 三 方 工 具 和 控件-----------------------8.1 常用第三方控件 1FreeTextBox 控件使用步骤: ①添加控件到工具箱: 右键工具箱→选择项→浏览→quotFreeTextBox.dll 打开quot→完成 ② 使 用 FreeTextBox:lt Register AssemblyquotFreeTextBoxquotNamespacequotFreeTextBoxControlsquot TagPrefixquotFTBquot gt ltFTB:FreeTextBox IDquotFreeTextBox1quot runatquotserverquotgtlt/FTB:FreeTextBoxgt 属性:Language 语言,quoten-USquot美国英文;quotzh-CNquot简体中文 Text 设置或获取当前文本信息。
注 意 : 做 数 据 绑 定 更 新 提 交 到 服 务 器 是 , 须 设 置 Page 指 令 中ValidateRequestquotflasequot 2验证码控件 Webvalidates 方法:Creat 创建一个新的密码。
CheckSN 判断验证码是.
上一篇:
【精品】linux_Apache
下一篇:
还记得,那年的风车吗?