在开发自定义的WEB控件时,有时我们想让自定义控件实现自动回传的功能。通常只有BUTTON这样的控件才能实现此功能。如果想实现的话,只要让我们的自定义控件实现IPostBackEventHandler接口就可以了,同时给控件加上事件引发的代码调用。

using System;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.ComponentModel;

namespace MyWebControls
{
 /// <summary>
 /// MyCounter 的摘要说明。
 /// </summary>
 [DefaultProperty("Text"),
  ToolboxData("<{0}:MyCounter runat=server></{0}:MyCounter>")]
 public class MyCounter : System.Web.UI.WebControls.WebControl,IPostBackEventHandler
 {
//在控件中当用户按下增加或减少时,对此数字进行操作。
  public int Number
  {
   get
   {
    if(ViewState["number"]!=null)
    {
     return (int)ViewState["number"];
    }
    return 50;
   }
   set
   {
    ViewState["number"]=value;
   }
  }

//Page.GetPostBackEventReference(this,"inc")在客户端生成一个脚本区(用于上传数据的),同时再进行调用
  /// <summary>
  /// 将此控件呈现给指定的输出参数。
  /// </summary>
  /// <param name="output"> 要写出到的 HTML 编写器 </param>
  protected override void Render(HtmlTextWriter output)
  {
   output.Write("当前数字为:"+Number.ToString());
   output.Write("<a href=/"javascript:"
    +Page.GetPostBackEventReference(this,"inc")
    +"/">增加</a>");
   output.Write(" &nbsp;");
   output.Write("<a href=/"javascript:"
    +Page.GetPostBackEventReference(this,"dec")
    +"/">减少</a>");
  }
  #region IPostBackEventHandler 成员
//实现事件回送接口,HTML中只有BUTTON和IMAGEBUTTON能起回送的发生,如果你想
  //让自己的控件也实现点击后自动回送,则实现此接口
//判断回传时的参数。这个控件回送时有二种动作。
  public void RaisePostBackEvent(string eventArgument)
  {
   if(eventArgument=="inc")
   {
    Number=Number+1;
   }
   else
   {
    Number=Number-1;
   }
  }

#endregion
 }
}

转载于:https://www.cnblogs.com/greystar/archive/2005/01/06/2235553.html

在WEB自定义控件中实现自动回传功能相关推荐

  1. html 自动完成,如何指定 form或 input元素是否应在HTML中启用自动完成功能?

    使用autocomplete属性以HTML形式启用自动完成功能.该自动完成属性用于表单元素来设置自动完成功能开启或关闭.如果启用了自动完成功能,则浏览器将根据用户之前在该字段中输入的内容自动显示值. ...

  2. 计算机word保存如何操作,怎么开启电脑word中的自动保存功能

    怎么开启电脑word中的自动保存功能 腾讯视频/爱奇艺/优酷/外卖 充值4折起 当我们在使用word处理文档的时候,为了防止意外导致的文档内容消失,我们可以选择使用自动保存功能,具体应如何设置呢?接下 ...

  3. 在 Windows 中启用自动登录功能

    在 Windows 中启用自动登录功能 本文介绍了如何通过将密码和其他相关信息存储在注册表数据库中以配置 Windows 自动执行登录过程. 通过使用此功能,其他用户可以启动您的计算机并使用您建立的帐 ...

  4. 在 Web 应用中增加用户跟踪功能

    http://www.ibm.com/developerworks/cn/web/wa-lo-usertrack/index.html 进行用户跟踪的重要性 随着 Web 应用的复杂化,用户在网站上的 ...

  5. 使用 JavaScript,也能在 Web 应用中实现人脸检测功能?!

    想要实现一个面部识别的功能究竟该怎么做?在本文中,我们将以 JavaScript 库 pico.js 为依托,手把手教你如何为一款应用添加面部检测功能. 作者 | Jonathan Freeman 译 ...

  6. MATLAB算法实战应用案例精讲-【自动驾驶】自动驾驶中的自动泊车功能(最终篇)

    目录 前言 什么是自动泊车 智能驾驶相关功能的发展历程 舱泊一体方案的劣势和局限性

  7. MATLAB算法实战应用案例精讲-【自动驾驶】自动驾驶中的自动泊车功能(补充篇)

    目录 前言 什么是自动泊车? 国内外发展 自主泊车系统 自动泊车的系统硬件架构

  8. MATLAB算法实战应用案例精讲-【自动驾驶】自动驾驶中的自动泊车功能

    目录 前言 什么是"自动泊车"? 有什么用? 有什么优点? 发展历程

  9. java自动gc_具有Java 7中自动资源管理功能的GC

    java自动gc 这篇文章简要概述了Java 7中引入的称为自动资源管理或ARM的新功能. 文章探讨了ARM如何减少开发人员为有效释放分配的资源的JVM堆而必须编写的代码. Java编程语言中编程的最 ...

最新文章

  1. 高并发整体可用性:一文详解降级、限流和熔断
  2. git diff Git查看版本改动
  3. PHP环境配置文件php.ini详解注释 --转贴
  4. 信号与系统——微分方程与差分方程——编辑中
  5. oracle_修改连接数
  6. GlassFish 4带来了Java EE 7
  7. 计算机测试怎么提交,Win7电脑怎么测试上传速度?
  8. xmind 模板_XMind 教程 | 如何写出让人眼前一亮的年终总结?
  9. 哪些人适合做前端开发?HTML5前端发展前景怎么样?
  10. Pycharm 加载pygame解决方案
  11. contenteditable属性让div也可以当做输入框
  12. oracle dg apply lag,Oracle数据库 DGbroker三种保护模式的切换
  13. Mysql常见的引擎
  14. HD2500显卡驱动linux,Intel HD Graphics 4000/2500集成显卡驱动
  15. python应对反爬虫策略_python解决网站的反爬虫策略总结
  16. bat批处理之清理系统垃圾
  17. 放弃了又何需执着 ?
  18. 服务器1U和2U参数详解
  19. Excel如何将姓名转为拼音并将姓和名分开显示
  20. 30个python的最佳实践,快去试试吧!

热门文章

  1. 【长文】Google面试官分步解析自己泄漏前的面试题,超多干货和建议
  2. oracle:sql查询
  3. iis8.5 php mysql_Win2012 R2 IIS8.5+PHP(FastCGI)+MySQL运行环境搭建教程
  4. 计算机视觉CV算法分类,计算机视觉(CV)的算法有哪些,具体都有哪些特点?...
  5. linux命令窗口颜色,如何修改ssh命令行下登录时的颜色
  6. java 模型 视图,部分视图模型
  7. Nginx静态资源优化配置之sendfile
  8. Parallel Old收集器
  9. php自定义框架,「php 框架」自定义php框架(篇一) - seo实验室
  10. Spring @Conditional