ASP.NET网站开发——用户控件与HttpHandler

一丶用户控件

        定义:用户控件可用来实现页面中可重用的代码,是可以一次编写就多处方便使用的功能块。它们是ASP.NET控件封装最简单的形式。由于它们最简单,因此创建和使用它们也最简单。用户控件实际上是把已有的服务器控件组合到一个空间容器中,这样就可以创建出来了。

        用户控件是能够在其中放置标记和Web服务器控件的容器,可以被看作一个独立的单元,拥有自己的属性和方法,,并可放入到ASPX页面上。ASPX页面和ASP.NET页面十分相似。

Web用户控件Web自定义控件
易于创建难于创建
为使用可视化设计工具的使用者提供有限的支持为使用者提供完全的可视化设计工具支持
每个应用程序中需要控件的一个单独副本仅在全局程序几缓存中需要控件的单个副本
不能添加到Visual Studio中工具箱可以添加到Visual Studio中工具箱
适用静态布局适用动态布局

        创建用户控件

        创建新的用户控件,首先在Web站点中添加一个Web应用程序

        

        创建完成点击项目名称—添加新建项—Web用户控件

 

        创建完成(注意:ascx文件里只有一行代码,没有html标记,文件里不能包含<head>丶<form>丶<body>标签)

        例题    单击按钮将用户输入的文本信息还有按钮的文本信息显示出来。

        这里我们要注意将控件都拖到.ascx文件中

        

        这里我们来看aspx文件和ascx文件生成类型一样都有前台和后台

        双击按钮你会发现和aspx文件一样会自动生成一个后台事件,在里面编译方法实现例题要求的功能

        

        功能效果如下       

二丶HttpHandler

        在ASP.NET中,我们可以很方便地创建HttpHandler的应用。我们如果图片想加水印可以通过HttpHandler来为图片添加水印,在显示图片时添加水印。我们想现在的网站大部分图片占网站大部分内容,如果一张一张的去p图,那么会费时费力还会有可能搞混,如果我们使用HttpHandler的功能可以简单的将图片加上水印,还会降低错误率。
        我们在 项目名称 中点击右键中添加“一般处理程序”如图
        添加完成后,创建了一个以.ashx为后缀名的文件。默认内容为:
                        
        这段代码说明context对象可控制输出的内容和类型。ContentType用于设置程序输出类型。
封面数字水印的实现(指定Handler方式)

        通过修改后缀为.ashx的文件,实现效果  默认代码如下:

   

        这个代码我们还要做的是,将所需要的图片路径修改为“PicCover.ashx?id=图片名称”
封面数字水印的实现(全局Handler方式)

        实现思路分析:

        修改配置信息,将所有对.jpg内容的访问转到HttpHandler处理程序
        获得访问请求,得到用户访问的图片路径;
        根据请求的路径,查找相应的DVD封面图片;
        将网站标示“绘制”在DVD封面图片左下角;
        修改程序的输出类型,并将组合出的新图片输出;
        
        首先,我们修改配置信息(Web.config文件)在文件中添加代码行如下:
                        
        verb:指定谓词列表可以是逗号分隔的HTTP谓词列表(例如:“get        put        post”  【*】通配符表示所有请求)
        path:指定路径,此处表示所有针对图片URL路径的请求,如果那个图片文件中都是图片那可以使用通配符*表示所有图片
        type:指定处理程序(类)。
        此方法与上面的方法非常相似,只不过我们不用再获取图片ID值了
 
        

                                                                                                                微笑 如有不足,请批评指正,谢谢
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值