摘要: 简介 前一篇教程 探讨了如何使用一个完全可编辑的 GridView 来创建批量编辑界面。在用户通常一次编辑多条记录的情况下,批量编辑界面需要更少的回传以及键盘到鼠标的上下文切换,从而提高了终端用户的效率。同理,对于常见的用户一次删除多条记录的页面,该技术也很有用。 使用过在线电子邮件客户端的人都对这 阅读全文
posted @ 2016-05-02 00:30 迅捷之风 阅读(150) 评论(0) 推荐(0) 编辑
摘要: 简介 在前一篇教程 中 , 我们探讨了如何扩展数据访问层以支持数据库事务。数据库事务确保将一系列数据修改语句作为一个原子操作进行处理,这样这些修改要么全部失败,要么全部成功。但由于底层的 DAL 功能不适用,我们将注意力转向创建批量数据修改界面。 在本教程中,我们将创建一个 GridView ,该 阅读全文
posted @ 2016-05-02 00:29 迅捷之风 阅读(149) 评论(0) 推荐(0) 编辑
摘要: 简介 正如我们在数据插入、更新和删除概述 教程中探讨的那样,GridView 提供内置功能支持行级编辑和删除功能。您只需单击几次鼠标就可以创建丰富的数据修改界面而不用写一行代码,前提是您进行的编辑和删除是基于每行数据的。然而,在某些情况下,这还不够,我们需要让用户能够编辑或删除批量记录。 例如,大多 阅读全文
posted @ 2016-05-02 00:28 迅捷之风 阅读(306) 评论(0) 推荐(0) 编辑
摘要: 简介 ASP.NET 2.0 的站点地图功能允许页面开发者在一些持久介质中,如XML 文件,定义 web 应用的站点地图。一旦进行了定义,通过 System.Web 命名空间 的 SiteMap 类 或诸如 SiteMapPath 、 Menu 和 TreeView 控件的多种导航 Web 控件就可 阅读全文
posted @ 2016-05-02 00:27 迅捷之风 阅读(80) 评论(0) 推荐(0) 编辑
摘要: 简介 使用 ObjectDataSource 缓存数据 和在架构中缓存数据 教程中探讨的缓存技术使用基于时间的有效期 , 在指定的周期过后从缓存中清除数据。该方法是平衡缓存性能与数据过时的最简单的方法。选择 x 秒的有效期,页面开发者虽然只能享受到 x 秒的缓存带来的好处,但可高枕无忧,因为数据的过 阅读全文
posted @ 2016-05-02 00:24 迅捷之风 阅读(149) 评论(0) 推荐(0) 编辑
摘要: 简介 前两篇教程探讨了在表示层和缓存层缓存数据。在使用 ObjectDataSource 缓存数据 教程 中 , 我们探讨了在表示层使用 ObjectDataSource 的缓存功能来缓存数据。在架构中缓存数据 教程 探讨了在一个新的独立的缓存层中缓存数据。这两篇教程都是使用 应激装载方法来处理数据 阅读全文
posted @ 2016-05-02 00:16 迅捷之风 阅读(237) 评论(0) 推荐(0) 编辑
摘要: 简介 我们在前一篇教程中看到 , 要缓存ObjectDataSource 的数据 , 只需要设置几个属性即可。遗憾的是 ,ObjectDataSource 在 表示层进行 数据缓存 , 这将缓存策略与 ASP.NET 页面紧密地结合在一起。创建分层架构的原因之一就是为了打破这种结合。例如 ,业务逻辑 阅读全文
posted @ 2016-05-02 00:09 迅捷之风 阅读(141) 评论(0) 推荐(0) 编辑
摘要: 简介 就计算机科学而言 , 缓存 过程包括成本昂贵的数据或信息的获取 , 以及将备份存储在可快速访问的位置。对于数据驱动的应用程序,大型、复杂的查询通常会消耗大量应用程序执行时间。要提升这类应用程序的性能,通常的做法是,将昂贵的数据库查询的结果存储在应用程序的内存中。 ASP.NET 2.0 提供了 阅读全文
posted @ 2016-05-02 00:01 迅捷之风 阅读(121) 评论(0) 推荐(0) 编辑
摘要: 简介 在前面的三篇教程中 , 我们添加了许多功能来处理二进制数据。开始时我们在 Categories 表中添加了一个 BrochurePath 列并相应地更新了架构。我们还添加了一些数据访问层和业务逻辑层方法以处理 Categories 表的现有 Picture 列,该列含有图像文件的二进制内容。我 阅读全文
posted @ 2016-05-01 23:58 迅捷之风 阅读(451) 评论(0) 推荐(0) 编辑
摘要: 简介 在前面的两个教程中 , 我们探讨了用于存储与应用程序的数据模型相关联的二进制数据的方法 , 了解了怎样使用 FileUpload 从客户端向 Web 服务器发送文件 , 以及怎样在Web 数据控件中呈现此二进制数据。但我们还未讨论如何将上载的数据与数据模型相关联。 本教程中 , 我们将创建一个 阅读全文
posted @ 2016-05-01 23:56 迅捷之风 阅读(130) 评论(0) 推荐(0) 编辑
摘要: 简介 前面的教程中 , 我们介绍了将二进制数据与应用程序的基础数据模型相关联的两种方法 , 并使用FileUpload 控件从浏览器向 Web 服务器的文件系统上载。我们还将了解怎样将上载的二进制数据与数据模型相关联。即,将文件上载并保存到文件系统之后,文件的路径必须存储在相应的数据库记录中。如果数 阅读全文
posted @ 2016-05-01 23:53 迅捷之风 阅读(291) 评论(0) 推荐(0) 编辑
摘要: 简介 目前为止 , 我们介绍的所有教程都是专门处理文本数据。但是,许多应用程序的数据模型既可以使用文本数据,也可以使用二进制数据。在线约会网站可能允许用户上载与其个人简介有关的图片。招聘网站可能允许用户以 Microsoft Word 或 PDF 文档格式上载他们的简历。 处理二进制数据增加了一系列 阅读全文
posted @ 2016-05-01 23:50 迅捷之风 阅读(101) 评论(0) 推荐(0) 编辑
摘要: 简介 正如我们在 数据插入、更新和删除概述 教程中所讨论的那样 ,GridView 、DetailsView 和 FormView Web 控件都包含内置的数据修改功能。当使用声明数据源控件时,可以方便迅速地对这三个 Web 控件进行配置使其能修改数据,并且在某些情况下无需编写一行代码。不幸的是,只 阅读全文
posted @ 2016-05-01 23:43 迅捷之风 阅读(188) 评论(0) 推荐(0) 编辑
摘要: 简介 在前面的教程中 , 我们学习了如何为 GridView 控件添加一列 单选 按钮来选择一个特定的记录。当用户被限制最多只能从网格中选中一项时,一列单选按钮是一个非常恰当的用户界面。然而,有时我们还想让用户从网格中随便选择任意数量的项目。例如,基于 Web 的电子邮件客户端通常使用一列复选框控件 阅读全文
posted @ 2016-05-01 23:42 迅捷之风 阅读(389) 评论(0) 推荐(0) 编辑
摘要: 简介 GridView 控件提供多种内置功能。它含有多个显示文本、图像、超链接和按钮的不同字段。它还支持模板的进一步定制。只需轻轻的点击几下鼠标,您即可构造 GridView ,使其每行均可使用按钮进行选择,或者启用编辑或删除功能。尽管它提供了多种功能,但是很多情况下我们仍然需要添加一些附加功能和它 阅读全文
posted @ 2016-05-01 23:40 迅捷之风 阅读(1291) 评论(0) 推荐(0) 编辑
摘要: 简介 正如在 数据插入、更新和删除概述 中讨论的那样,GridView 控件提供内置的更新和删除功能,而DetailsView 和 FormView 控件则包含对插入、编辑和删除功能的支持。这些数据修改功能无需编写任何代码,可直接嵌入数据源控件。 数据插入、更新和删除概述 中探讨了如何使用 Obje 阅读全文
posted @ 2016-05-01 23:39 迅捷之风 阅读(3863) 评论(0) 推荐(0) 编辑
摘要: 简介 在前一篇教程中,我们了解了如何使用 SqlDataSource 控件直接从数据库检索数据。使用 Configure Data Source 向导,我们可以选择数据库,并进行下列操作:从表或视图中选择要返回的列;输入定制 SQL 语句;或者使用存储过程。无论是否从表或者数据库中选择列,或者数据定 阅读全文
posted @ 2016-05-01 23:38 迅捷之风 阅读(630) 评论(0) 推荐(0) 编辑
摘要: 简介 我们目前探讨的所有教程均使用分层结构,包括表示层,业务逻辑层和数据访问层。我们已经在第一个教程( 创建数据访问层)中对数据访问层 ( DAL ) 做了详细的探讨,在第二个教程( 创建业务逻辑层)中对业务逻辑层做了详细的探讨。从 使用 ObjectDataSource 显示数据 教程开始,我们探 阅读全文
posted @ 2016-05-01 23:36 迅捷之风 阅读(2038) 评论(0) 推荐(0) 编辑
摘要: 简介 在前面十七个DataList 控件和 Repeater 控件教程中,我们创建了一些只读示例和一些编辑和删除示例。要在 DataList 控件中方便地进行编辑和删除,我们为 DataList 控件的 ItemTemplate 模板添加一些按钮,单击这些按钮时,产生回传并响应按钮的 Command 阅读全文
posted @ 2016-05-01 23:35 迅捷之风 阅读(146) 评论(0) 推荐(0) 编辑
摘要: 在 前一篇教程 中,我们介绍了如何将分页支持添加至 DataList 。我们在 ProductsBLL 类中创建了一个新方法 (GetProductsAsPagedDataSource) ,该方法返回 PagedDataSource 对象。当与 DataList 或 Repeater 绑定时,Dat 阅读全文
posted @ 2016-05-01 23:34 迅捷之风 阅读(296) 评论(0) 推荐(0) 编辑