ASP.NET - 自定义控件处理页面事件(控件与页面数据交互)的方法

//用委托的方法实现
//控件代码
        public delegate void DelegateFunction( string sPageTitle );
        private DelegateFunction delegateChangePageTitle = null;
        public DelegateFunction ChangePT
        {
            get { return delegateChangePageTitle; }set { delegateChangePageTitle = value; }
        }
        protected void BtEdit_Click( object sender, EventArgs e )
        {
            if ( delegateChangePageTitle != null ) delegateChangePageTitle( "Edit" );
        }
        protected void BtAdd_Click( object sender, EventArgs e )
        {
            if ( delegateChangePageTitle != null ) delegateChangePageTitle( "Add" );
        }

//页面    后台代码
        protected void Page_Load( object sender, EventArgs e )
        {            myWebControl11.ChangePT = ChangePT;        }
        void ChangePT( string sTmp )
        {            this.Page.Title = sTmp;        }
//页面    前代码
<%@ Register src="myWebControl.ascx" tagname="myWebControl1" tagprefix="uc1" %>
<uc1:myWebControl1 ID="myWebControl11" runat="server" />

//用事件的方法实现  控件定义事件    页面实现
//控件代码
//定义一个不含数据的事件处理方法
        public event EventHandler ClickModifyTitle;
        protected void btCreateValue_Click( object sender, EventArgs e )
        {            ClickModifyTitle( this, EventArgs.Empty );         }

//页面后台代码
        protected void Page_Load( object sender, EventArgs e )
        {
            myWebControl11.ClickModifyTitle +=new EventHandler(myWebControl11_ClickModifyTitle);
        }

        void myWebControl11_ClickModifyTitle( object sender, EventArgs e )
        {
            this.Page.Title += new Random().Next( 1000, 9999 ).ToString();
        }

ASP.NET - 自定义控件处理页面事件(控件与页面数据交互)的方法

时间: 2024-10-09 11:45:47

ASP.NET - 自定义控件处理页面事件(控件与页面数据交互)的方法的相关文章

【Asp.net之旅】--数据绑定控件之Repeater .

前几篇的文章在说AJAX的内容,利用AJAX技术能够开发出高效运行的网站应用程序,不过在进行B/S项目开发时只拥有AJAX技术是远远不够的,踏入到B/S要学的东西会更多,但相较C/S的复杂逻辑结构来说B/S在开发时还是很简单的. 在开发B/S项目时,常常会用到数据绑定控件,.NET平台已经对这些控件进行了良好的封装,只要稍有经验的程序猿很快就能够上手使用这些数据控件,所以接下来的几篇文章将会讨论数据控件,首先将会从数据控件的细节入手讨论ListView.GridView.Repeater.Dat

Asp.Net服务端的基本控件

今天开始把最基础的Asp.Net服务端基本控件学习巩固了一下 1.Asp.Net服务端控件是Asp.Net对HTML的封装,在C#代码中就可以用txt1.Text="指定值"这种方式修改 input的值,Asp.Net会将服务端控件渲染成HTML代码输出给浏览器,服务端控件是Asp.Net非常容易上手,也非常吸引初学者,但也是被人诟病的东西.因为它会传输很多无法的东西,如viewstate. 服务端控件在内网或互联网系统的后台部分等访问频率不高的地方还是很适合的. 服务端控件只能用po

ASP.NET—013:实现带控件的弹出层(弹出框)

在页面中用到弹出新页面的情况比较多的,一般来说都是使用JS方法showModalDialog("新页面相对路径+?参数1&参数2",window,"新页面样式");然后会新弹出一个模态的page页.而在有些时候,仅仅是显示一些单一的.少量的数据,或者一些简单的操作时.就没必要使用新弹出页面了.此时,最好使用弹出层,也就是数据还是显示在当前页面的某个控件上,然后通过JS方法实现达到弹出的目的.看下面的例子: <html xmlns="http:

ASP.NET列表生成组件DbNetList控件下载及介绍

DbNetList是一个综合功能的列表选择组件,作为动态HTML(DHTML)实现.运用DbNetList,你可以快速为自己的web页面添加数据库驱动的列表.下拉式列表(drop-down).树型和复选框列表.DbNetList兼容最流行的各种数据库服务器,包括:SQL Server.Oracle和Informix. 具体功能: 生成列表.多列列表.下拉式列表(drop-down).树型列表.复选框列表... 提供ASP 和 ASP.NET的本地版本. 基于浏览器.无论何处均可设计和运行.无需客

在asp.net中用客户端上传控件上传文件( 需要注意的)

在asp.net中使用<inpu nme=“file” type=“file”>客户端控件上传文件, 代码大致如下: for(int i=0; i< Request.Files.Count; i++) //这里就是获取不到file的个数 { if(Request.Files[i].ContentLength > 0) { Response.Write (Request.Files [i].FileName ); } } 在我的页面中,Request.Files.Count怎么弄都是

ASP.NET MVC 中使用用户控件——转

讲讲怎么在 ASP.NET MVC2中使用用户控件.首先我们新建一个用户控件, 我们命名为SelectGroup.ascx,代码如下 <%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl" %> <script language="javascript" type="text/javascript" src="<%

asp.net 开发过程中关于image控件中图片点击后地址乱码的问题

前台页面是这样的: <%-- 图片展示20140705add --%>    <div id="imgShowDiv" style="left:550px; top:90px; height:430px; display:none;" class="msgboxStyle">        <h1 onmousedown="startDrag(this)" onmousemove="dr

用户控件与页面间相互给各自的控件赋值

用户控件 ->页面 ((Label)this.Parent.Page.FindControl("AAA")).Text = "ABC"; AAA:页面控件ID Label:页面控件类型 页面 -> 用户控件 ((HiddenField)POPUSER_1.FindControl("hidNO")).Value = "VNBB"; POPUSER_1:用户控件ID HiddenField:用户控件中需要处理的控件的类

控件不接收用户交互的情况以及事件响应顺序

开发中经常会遇到控件不接收用户交互了,可以从以下几个方面检查: 1. enable = NO 就不可以被点击 ->也会让按钮显示禁用状态 2. 设置了控件的 userInterActionEnabel = NO 3. hidden属性为YES 4. 控件的alpha < = 0.01 5. 如果一个父控件与用户的交互设置为NO ,那么它子控件将获取不到交互事件 6.如果子视图超出父视图范围,超出范围的部分也不能接收用户交互 7. 触发事件的过程 1). 交互事件,是先由父控件获取到,然后父控件