Visual Basic.NET 7.x (2002/03)Visual Basic 9 (2008)Visual Basic 8 (2005).NET 3.0.NET 2.0.NET 3.5中级开发.NETVisual BasicASP.NET
轻松从 SQL 数据库显示图像
这个项目包含一个Web自定义控件,用于直接从数据库渲染图像。它可以与图像字段、文本、日期或数值字段(它生成包含文本的图像)以及URL字段(如常规图像控件中)一起使用。
引言
这是VsCustomRenderer
控件的3.0版本。你可以在这里找到之前的版本:2.0 和 1.0。
背景
这个项目受到CodeProject上dev2dev撰写的一篇文章的启发:在ASP.NET中创建动态图像。部分代码来自该项目。
Using the Code
要测试此控件
- 打开或创建一个网站。
- 将VSCustomRendererLibrary引用添加到网站。
- 在web.config的
<httpHandlers>
部分中添加以下行
<add verb="*" path="*.jpg"
type="VSCustomRendererLibrary.VsImageHandler, VSCustomRendererLibrary"/>
如果你的web.config文件中找不到此部分,只需在<system.web>
下创建它
<system.web>
......
<httpHandlers>
<add verb="*" path="*.jpg"
type="VSCustomRendererLibrary.VsImageHandler, VSCustomRendererLibrary"/>
</httpHandlers>
</system.web>
- 打开/创建一个新的ASPX页面。
- 添加一个
SqlDataSource
,连接到SQL表或视图(这个项目使用SQL Server 2005 EE进行测试)。 - 添加一个
GridView
并将其连接到SqlDataSource
。 - 在
GridView
中,添加图像列并将其转换为模板字段。 - 从
GridView
工具栏菜单中选择编辑模板。 - 将一个
VSCustomRenderer
添加到ItemTemplate
中。将控件绑定到DataSource
字段。
关注点
这个Web控件现在与AJAX一起工作。此控件不再将图像保存到磁盘以显示它们。图像直接从内存通过一个IHttpHandler
显示。这个HTTP处理程序不会打开新的数据库连接,它只是从内存中显示图像,因此页面渲染没有延迟,也没有额外的参数需要设置。
历史
此控件的所有版本也发布在CodePlex上。