WebForm 用户控件 委托 实现 textbox后台赋值 调用端处理实现 textchange
新建一个简单的用户控件,如下图所示 textbox只读,button按钮模拟实现一堆业务逻辑后对textbox赋值。

用户控件后台代码也很简单
public partial class UTTControl : System.Web.UI.UserControl
{ public delegate void CompanychangedDelegate();
public event CompanychangedDelegate companychange; protected void Page_Load(object sender, EventArgs e)
{ } public string CompanyName
{
get { return tbxInput.Text; }
set
{
if (!tbxInput.Text.Equals(value))
{
tbxInput.Text = value;
companychange();
}
}
} protected void btnCc_Click(object sender, EventArgs e)
{
////执行也对业务逻辑后
this.CompanyName = "触发值改变";
}
}
下面是调用端,新建一个index页面,把上面创建的用户控件拖上去就可以了。

Index后台代码
public partial class Index : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{ UTTControl.companychange += new UTTControl.CompanychangedDelegate(companychangeindex); } protected void companychangeindex()
{
var stringc = this.UTTControl.CompanyName;
}
}
开始测试:
F5 跑起来,点击按钮

后台记得打断点
第一个断点到达

F5 放过去:
第二个断点到达

简单来说这就是个委托使用的小实现。
如果是其他控件比如button点击事件,或者textbox可以输入的可以采用下面方式。
用户控件端代码:
public delegate void CompanychangedDelegate(object sender, EventArgs e);//建立委托
public CompanychangedDelegate companychange; protected void Page_Load(object sender, EventArgs e)
{
tbApprovalCompany.TextChanged += new EventHandler(companychange);
}
调用页面代码
//一般pageload里面绑定
ApprovalCompanyUC1.companychange += new Infobase.Framework.WebUI.Workflow.UserControls.ApprovalCompanyUC1.CompanychangedDelegate(tbApprovalCompany_TextChanged); public void tbApprovalCompany_TextChanged(object sender, EventArgs e)
{
var company = ApprovalCompanyUC1.ApprovalCompany;
}
WebForm 用户控件 委托 实现 textbox后台赋值 调用端处理实现 textchange的更多相关文章
- 客户端的javascript改变了asp.net webform页面控件的值,后台代码中如何获取修改后的值。
客户端的javascript改变了asp.net webform页面控件的值,后台代码中如何获取修改后的值. 无论是什么的html控件,只要加上了runat="server" ...
- Webform用户控件
用户控件一 用户控件二
- 2016.2.24 利用用户控件和委托完美解决快速选择txbbox
1.首先将tet_box和一个datagridview控件打包成用户控件uC_QuickTxtBox 2.在用户控件中定义执行主窗口的委托函数 3.主窗体中添加用户控件的load事件,赋值 uC_Qu ...
- C# winform中自定义用户控件 然后在页面中调用用户控件的事件
下面是用户控件的代码: using System; using System.Collections.Generic; using System.ComponentModel; using Syste ...
- C#窗体程序【用户控件-窗体】委托事件
这里的自定义控件是由普通控件组合而成的.希望事件响应代码推迟到使用自定义控件的窗体里写.步骤一:新建一个用户控件,放两个按钮,Tag分别是btn1,btn2.这两个按钮的共用单击事件处理代码如下: u ...
- C#中,用户控件UserControl里面用Panl加载UserControl,并实现利用委托互相传值
用户控件主窗体结构:左侧树形菜单,右侧Panl: 根据点击的菜单节点,panl里面选择性加载某一个子窗体用户控件,并传值给子窗体: 反之,在子窗体进行相应的操作之后,传值给主窗体,触发主窗体的刷新. ...
- WebForm中搭配母版页和用户控件页时候的事件加载顺序
在生产环境中,一个内容页(aspx)可能会包含数个用户控件(ascx),而每个控件可能都会涉及到数据库访问. 如果在内容页.母版页.控件页中各自使用自己的数据库访问方法,会造成很大的运行成本. 这样的 ...
- Web用户控件
用户控件是个什么东西?自定义的反复重用的控件集合 注意:创建好用户控件后,必须添加到其他web页中才能显示出来,不能直接作为一个网页来显示,因此也就不能设置用户控件为“起始页”. 用户控件与ASP.N ...
- 【WPF学习】第六十四章 构建基本的用户控件
创建一个简单用户控件是开始自定义控件的好方法.本章主要介绍创建一个基本的颜色拾取器.接下来分析如何将这个控件分解成功能更强大的基于模板的控件. 创建基本的颜色拾取器很容易.然而,创建自定义颜色拾取器仍 ...
随机推荐
- Linux-第二篇常用命令
1.常用目录文件操作命令 cd:切换目录 格式:cd 目录 ls:显示文件和目录列表.可选参数: -l 列出文件的详细信息 -a 列出当前目录所有文件,包含隐藏文件 ll:查看目录接口,相当于是ls ...
- Notepad++添加插件Funtion List 支持PHP
插件下载地址:functionlist插件 配置方法:关闭notepad++; functionlist.dll拷贝到 安装目录/plugins目录下; 下载php.bmp 地址:https://gi ...
- html-mailto
MailTo 属性 mailto 属性可以设置到a 标签和form 标签中 例如: <a href="mailto:****@qq.com">send mail< ...
- CSS-03 queue方法
queue方法 摘自W3C school手册,用于简单理解使用queue方法 队列 每个元素均可拥有一到多个由 jQuery 添加的函数队列.在大多数应用程序中,只使用一个队列(名为 fx).队列运行 ...
- 初学Java 彩票
import java.util.Scanner; public class Lottery { public static void main(String[] agrs) { ); Scanner ...
- egrep 或 多个连续字符测数字
.TXT 4-6是ABC 或者 4-6是 0-9
- Word里的红色、绿色和蓝色波浪线
有时候我们写完文章会发现,有的地方有红色波浪线,有的地方有绿色/蓝色二重线,那么这两种线各代表什么意思呢?其实红色波浪线代表此处存在拼写错误,绿色/蓝色波浪线代表此处可能有语法错误.如果你不希望Wor ...
- pycharm 断点跟踪
F8 下一步 F7 step info F9 直接运行
- 【LeetCode】双指针 two_pointers(共47题)
[3]Longest Substring Without Repeating Characters [11]Container With Most Water [15]3Sum (2019年2月26日 ...
- 【抓包工具之Fiddler】增加IP列;session高亮
Fiddler 在处理每个session时,脚本文件CustomRules.js中的方法都会运行,该脚本使得你可以隐藏,标识或任意修改负责的session.规则脚本在运行状态下就可以修改并重新编译,不 ...