ASP.NET——用户控件与HttpHandler

        用户控件:用户控件是能够放置标记Web服务控件的容器,可以被看做一个独立的单元,拥有自己的属性和方法,并可放入到ASPX页面上。(简单理解:当一个Web窗体被当做Server控件使用时,这个Web窗体便时用户控件。)

创建一个用户控件

        

如果查看用户的HTML源代码,就会看到它与标准ASP.NET Web页面的几个有区别。

代码如下 

<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="WebUserControl1.ascx.cs" Inherits="WebApplication1.WebUse
Control1" %>

用户控件与页面区别:

后缀名:用户控件.ascx为后缀名,页面后缀名是.aspx

指令:用户控件为@ Control,页面是@Page

继承:用户控件继承System.Web.UI.WebControls;而页面继承自System.Web.UI.WebPage;

访问::用户控件不可直接访问,页面可直接访问。

例如:制作一个搜索框

 public partial class WebUserControl1 : System.Web.UI.UserControl
    {
        protected void Page_Load(object sender, EventArgs e)
        {

        }

        protected void Button1_Click(object sender, EventArgs e)
        {
            Response.Write(Button1.Text + ":" + TextBox1.Text);
        }
        public string settext
        {
            get
            {
                return Button1.Text;
            }
            set
            {
                Button1.Text = value;
            }

        }
        public void Show()
        {
            Response.Write(Button1.Text);
        }
    }

使用用户控件:直接可以把用户控件文件.ascx从“解决方案资源管理器”中拖放到需要使用的Web页面上即可。


HttpHandler的使用

在vs2010中新建一个web项目下建立一个一般处理程序

使用Handler方式实现数字水印


代码如下

在Web.config配置文件



public class Handler1 : IHttpHandler
    {

        //private string IMG = "~/ProductImgs/";
        public void ProcessRequest(HttpContext context)
        {         
           Image Cover;
           string Path = context.Request.PhysicalPath; //context.Request.MapPath(IMG + context.Request.Params["id"]+".jpg");

            if (File.Exists(Path))
            {
                Cover = Image.FromFile(Path);
                Graphics g = Graphics.FromImage(Cover);
                g.DrawString("xiecan.cc", new Font("宋体",20), Brushes.Red,Cover.Width-90,Cover.Height-20);
                g.Dispose();
            }
            else
            {
                Cover = null;
            }
            context.Response.ContentType = "image/jpeg";
            Cover.Save(context.Response.OutputStream, ImageFormat.Jpeg);
            Cover.Dispose();
            context.Response.End();
        }

        public bool IsReusable
        {
            get
            {
                return false;
            }
        }
    }

在浏览器运行如下;




                




1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 、下4载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 、下4载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合;、 4下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值