• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >ASP.NET > ASP.NET UserControl 通信的具体实现

ASP.NET UserControl 通信的具体实现

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-11

通过本文主要向大家介绍了vb.usercontrol,usercontrol,vb.usercontrol下载,usercontrol控件,wpf usercontrol等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

最近在SharePoint2007中用到了WebPart通信技术,个人觉得2007版本里面的ConnectionConsumer和ConnectionProvider没有2010版本那么好用,于是换了一种思想去实现通信:WebPart容器中装一个UserControl控件,这样只要UserControl可以通信,就实现了WebPart之间通信。

UserControl是用户自定义控件,我们可以在UserControl中注入事件,当一个UserControl触发某种事件,然后通过事件参数来传递数据,让其他UserControl获得这个事件传递过来的参数,实现通信。

下面简单演示一下两个UserControl进行通信

 

创建好一个类,两个UserControl和一个web页面。

这里分别是MyEventAgrs.cs,UCProvider.ascx,UCComsumer.ascx,Default.aspx。

MyEventAgrs.cs代码如下:

public delegate void MyEventHandle(object sender, MyEventAgrs args);
    public class MyEventAgrs : EventArgs
    {
        public MyEventAgrs() { }
        public string MyMsg { get; set; }
    }
</div>
如果想传递其他对象时就只需要修改MyEventAgrs类的MyMsg方法。这里须继承EventArgs抽象类,用于存放事件参数值,另外需定义一个委托事件,然后在其他的地方使用。

 UCProvider.ascx代码如下:

public partial class UCProvider : System.Web.UI.UserControl
    {
        public event MyEventHandle myHandle;
        protected void Page_Load(object sender, EventArgs e)
        {
            this.DropDownList1.SelectedIndexChanged += new EventHandler(DropDownList1_SelectedIndexChanged);
        }
        void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
        {
            MyEventAgrs myEvent = new MyEventAgrs();
            myEvent.MyMsg = DropDownList1.SelectedValue;
            myHandle(this, myEvent);
        }    }
</div>
这里在前台页面中定义了一个DropDownList,并给DropDownList绑定了数据源,不再罗列前台页面。我想实现当用户选择DropDownList的时候将用户选择的DropDownList的值传递出去,代码里面用myHandle(this, myEvent)来初始化事件。

UCComsumer.ascx代码如下:

public partial class UCComsumer : System.Web.UI.UserControl
    {
public void InitValue(string msg) {
            lb.Text = msg;
        }
}
</div>
这里赋值的时候也可以用属性来表示,比如:

public string UC1Msg
        {
            get{return this.lb.Text;}
            set{this.lb.Text=value;}
        }
</div>
如果用这种方式,在引用UserControl的时候就更加方便了:

<uc2:ucConsumer runat="server" ID="uc2" UC1Msg="Defalut Value" />
</div>
Default.aspx代码如下:

前台页面里面需要注册UserControl

<%@ Register TagPrefix="uc1" TagName="ucProvider" Src="~/UserControls/UCProvider.ascx" %>
<%@ Register TagPrefix="uc2" TagName="ucConsumer" Src="~/UserControls/UCComsumer.ascx" %>
</div>
再引用

<uc1:ucProvider runat="server" ID="uc1" OnmyHandle="uc1_myHandle" />
<uc2:ucConsumer runat="server" ID="uc2" />
</div>
后台页面:

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • ASP.NET UserControl 通信的具体实现
  • 使用UserControl做网站导航条的思路 分析

相关文章

  • 2017-05-11解析.Net 4.0 中委托delegate的使用详解
  • 2017-05-11IsPostBack原理的介绍
  • 2017-05-11ASP.NET导出Excel打开时提示:与文件扩展名指定文件不一致解决方法
  • 2018-08-20Visual Studio 2017使用淘宝镜像的方法
  • 2017-05-11asp.net实现取消页面表单内文本输入框Enter响应的方法
  • 2017-05-11ASP.NET程序发布详细过程
  • 2017-05-11Asp.Net 无刷新文件上传并显示进度条的实现方法及思路
  • 2017-05-11如何限制asp.net中上传文件的大小的代码
  • 2018-08-20ASP.NET MVC下Bundle的使用方法
  • 2018-08-20WPF实现转圈进度条效果

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • asp.net mvc CodeFirst模式数据库迁移步骤详解
    • html+ashx 表单提交示例
    • ASP.NET 中的Application详解
    • asp.net分割字符串的几种方法小结
    • 浏览器窗口滚动加载数据采用异步形式从后台加载数据
    • .net core项目中常用的几款类库详解(值得收藏)
    • .NET+JS对用户输入内容进行字数提示功能的实例代码
    • VS2012/VS2013本地发布网站问题集锦(HTTP错误代码)
    • 《解剖PetShop》之五:PetShop之业务逻辑层设计
    • C#中的switch case使用介绍

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有