两个WebUserControl之间传值
两个WebUserControl之间传值,网上的代码有,直接从UserControl1中定位到UserControl2的写法,偶合性很强,感觉不太好,于是提供另外的写法。
用一个容器Container.aspx来放两个WebUserControl,分别是UC1和UC2。现在假设要从UC1的一个事件触发,把UC1中的一个值传到UC2中。
1.新增一个Class,代码如下:
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
//delegate要寫在共用class中,這樣的話,才可以讓PegatronEvent在不同的頁面都引用到。
public delegate void TreeViewEventHandler(object sender, PegatronEvent e);
public class PegatronEvent : EventArgs
{
//構造函數
public PegatronEvent()
{
}
//聲明變數
public string PegatronDeptId;
}
2.UC1中写入事件
//給這個usercontrol加一個event
public event TreeViewEventHandler DeptInfoHandler;
//TreeView的事件,当然用其他事件都OK。
protected void TreeView1_SelectedNodeChanged(object sender, EventArgs e)
{
PegatronEvent DeptEvent = new PegatronEvent();
DeptEvent.PegatronDeptId = “我来传东西”;
//以下的事件裏面的參數是一定要寫的,sender可以是某個控件的id,也可以是整個頁面(this);
//DeptEvent也一定要,而且類型一定要是PegatronEvent,因為在App_Code/PegatronEvent.cs已經定義了。
DeptInfoHandler(this, DeptEvent);
}
3.在放两个Usercontrol的页面Container.aspx中加入代码:
*这是整个过程的最关键点,相当于在两个UserControl之间加一个桥梁。
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
public partial class UI_DepartContainer : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
UC1.DeptInfoHandler += new TreeViewEventHandler(UC1_DeptInfoHandler);
}
public void UC1_DeptInfoHandler(object sender, PegatronEvent e)
{
//取得UserControl的TreeView返回的部門代碼
UC2.deptid = e.PegatronDeptId.ToString();
}
}
4.在UC2中获得值,不多说了,代码如下:
public string deptid
{
get { return _deptid; }
set
{
_deptid = value;
}
}
转载于:https://www.cnblogs.com/petitprince/archive/2008/09/22/1295741.html
两个WebUserControl之间传值相关推荐
- IOS中,在两个ViewController之间传值
IOS中,在两个ViewController之间传值有多种方式,这里学习其中一种,利用临时变量在两个ViewController之间传值,这可能不是最好的传值方式,但是也是一种选择. 首先看看工程结构 ...
- 使用Block在两个界面之间传值
首先,创建两个视图控制器,在第一个视图控制器中创建一个UILabel和一个UIButton,其中UILabel是为了显示第二个视图控制器传过来的字符串,UIButton是为了push到第二个界面. 第 ...
- iOS开发:使用Block在两个界面之间传值(Block高级用法:Block传值)
使用Block的地方很多,其中传值只是其中的一小部分,下面介绍Block在两个界面之间的传值: 先说一下思想: 首先,创建两个视图控制器,在第一个视图控制器中创建一个UILabel和一个UIButto ...
- ios两个app之间传值和跳转实现(转发)
两个APP之间的跳转是通过[[UIApplication sharedApplication] openURL:url]这种方式来实现的. 1.首先设置第一个APP的url地址 2.接着设置第二个AP ...
- 如何将两个微信小程序合并_微信小程序--如何在两个页面之间传值
先看一下本周的部分的设计图 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 页面设计并不太复杂,主要是产品类型那块点击的样式,其余的都不太复杂,没啥好说的. 这次主要是想记录一下不同页面下 ...
- android fragment传递参数_fragment之间传值的两种方法
在Activity中加载Fragment的时候.有时候要使用多个Fragment切换.并传值到另外一个Fragment.也就是说两个Fragment之间进行参数的传递.查了很多资料.找到两种方法.一种 ...
- 从一个html页面传值到另一个页面,两个html之间的值传递(js location.search用法)
从一个html页面传值到另一个页面,两个html之间的值传递(js location.search用法) 转载,点击跳转
- java两个web项目之间如何传值,两个项目之间传递参数有关问题 - 大神进
两个项目之间传递参数问题 --- 大神进 情况 1.两个ssh项目 oms 与 GiftERP 2.调用的是GiftERP的一个Goods表,需要将表数据返回给oms项目 3.首先我oms的页面有一 ...
- IOS开发控制器之间传值的几种小方法
在IOS开发中或面试中,经常会遇到,两个或者多个控制器之间传值的问题 ,总结的集中方法仅供参考! 问题 :将B控制器中的textField 输入内容,传到A控制器中的label上显示出来,如何传值? ...
- IOS delegate 委托 使用 两个View之间传数据
今天讲述 delegate 的使用,并给出例子来说明如何使用delegate在两个View之间传送数据 1.建立一个 single view 工程 2.在viecontroller.xib文件里面放上 ...
最新文章
- Codevs 1519 过路费(Mst+Lca)
- strcpy和strncpy
- Shiro使用redis作为缓存(解决shiro频繁访问Redis)
- java io流学设置编码_Java学习日志(21-2-IO流-基本数据类型与字节数组对象与、编码解码)...
- spring----注解
- SharePoint2007 配置MOSS基于AD的Forms验证
- Python time 获取本地时间戳(包含毫秒)
- 【含内推码】字节跳动智能创作2022秋招提前批全面开启!
- NHibernate 3.x新功能实践(二) QueryOver(下)
- C#操作XML的完整例子——XmlDocument篇(转载,仅做学习之用)
- struts2拦截器interceptor的三种配置方法
- 恢复计算机个性化设置方法,Win7主题默认还原电脑用了主题软件没办法恢复完美解决系统主-win7主题...
- ofd阅读器qt_GitHub - gogo123150/ofdEditor: 一个很简陋的ofdEditor
- linux 查看go安装目录,Linux系统安装Go语言的步骤
- 解决树莓派4B从USB启动的问题
- 数据仓库卸数(网银系统数据库)
- HDU 6447 YJJ's Salesman (dp+树状数组+莫干山算法)
- 【微信小程序】web-view 无法打开该页面不支持打开
- 概率图模型(D分离)
- 用GRUB2来实现——坎特伯雷项目 The Canterbury Project
热门文章
- 机器学习 之 Hog特征
- python求解LeetCode 习题 Excel Sheet Column Title
- BOW和LSH的一点理解
- 数据挖掘之Apriori算法详解和Python实现代码分享_python
- Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX AVX2”
- c语言除去字符串多余的空格,从一个字符串中去除多余的空格(用指针描述)...
- python用正则表达式提取中文_用正则表达式从Python中的字符串中提取数字
- C++ multimap 用法总结 例子
- 微信小程序云开发教程-微信小程序的JS基础-this关键字
- atlas 力矩计算_Atlas 2.1.0 实践(2)—— 安装Atlas