.子控件与父页面
控件页
public class HistoryReplyEventArgs : EventArgs
{
NameValueCollection _ConditionCollection;
public NameValueCollection ConditionCollection
{
get { return this._ConditionCollection; }
}
public HistoryReplyEventArgs(NameValueCollection conditionCollection)
{
this._ConditionCollection = conditionCollection;
}
}
public partial class Task_Reply : System.Web.UI.UserControl
{
public delegate void ListHistoryReplyHandler(object sender, HistoryReplyEventArgs e);
public event ListHistoryReplyHandler ListHistoryReplyEvent;
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
GameBind();
}
}
protected void Button4_Click(object sender, EventArgs e)
{
if (!string.IsNullOrEmpty(TxtPhone.Text))
{
if (this.ListHistoryReplyEvent != null)
{
NameValueCollection conditionCollection = new NameValueCollection();
conditionCollection.Add(TASK_Question.n_.ContactPhone, TxtPhone.Text);
ListHistoryReplyEvent(this, new HistoryReplyEventArgs(conditionCollection));
}
}
}
父:
Task_Reply1.ListHistoryReplyEvent += ListHistoryEmailReply;
protected void ListHistoryEmailReply(object sender, CSPlatform.Website.Admin.Controls.HistoryReplyEventArgs e)
{
//历史回复
DataTable DT = this.TaskContext.Task.ListTaskQuestion(e.ConditionCollection, 5);
RepEmailHistory.DataSource = DT;
RepEmailHistory.DataBind();
}
控件页
public class HistoryReplyEventArgs : EventArgs
{
NameValueCollection _ConditionCollection;
public NameValueCollection ConditionCollection
{
get { return this._ConditionCollection; }
}
public HistoryReplyEventArgs(NameValueCollection conditionCollection)
{
this._ConditionCollection = conditionCollection;
}
}
public partial class Task_Reply : System.Web.UI.UserControl
{
public delegate void ListHistoryReplyHandler(object sender, HistoryReplyEventArgs e);
public event ListHistoryReplyHandler ListHistoryReplyEvent;
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
GameBind();
}
}
protected void Button4_Click(object sender, EventArgs e)
{
if (!string.IsNullOrEmpty(TxtPhone.Text))
{
if (this.ListHistoryReplyEvent != null)
{
NameValueCollection conditionCollection = new NameValueCollection();
conditionCollection.Add(TASK_Question.n_.ContactPhone, TxtPhone.Text);
ListHistoryReplyEvent(this, new HistoryReplyEventArgs(conditionCollection));
}
}
}
父:
Task_Reply1.ListHistoryReplyEvent += ListHistoryEmailReply;
protected void ListHistoryEmailReply(object sender, CSPlatform.Website.Admin.Controls.HistoryReplyEventArgs e)
{
//历史回复
DataTable DT = this.TaskContext.Task.ListTaskQuestion(e.ConditionCollection, 5);
RepEmailHistory.DataSource = DT;
RepEmailHistory.DataBind();
}
分享到:
相关推荐
//获得父页面的子控件 UserControl uc = p.FindControl("tj_ReceiptList2") as UserControl; Type pageType = uc.GetType(); //父类方法名 MethodInfo mi = pageType.GetMethod("Loading"); //参数 mi.Invoke(uc, ...
本文将深入探讨如何通过 `Iframe` 获取父页面的变量和控件。 首先,我们要理解 `Iframe` 的基本概念。`Iframe` 是一个内联框架,它允许我们在一个HTML文档中嵌入另一个HTML文档,相当于在当前页面中打开一个新的...
在JavaScript编程中,有时我们需要实现一个子页面控制其父页面中的特定控件或者操作父页面的文档对象模型(DOM)。这种交互通常是通过浏览器提供的API来完成的,特别是那些与窗口和框架相关的API。以下是一些关于...
- **数据传递**:利用MUI的页面间通信机制,如使用`mui.openWindow`时传递参数,或者通过`plus.runtime.message`发送和接收消息,实现父页面与子页面间的数据同步。 - **状态管理**:在页面隐藏或者销毁时,保存组件...
我们可以在父Activity或Fragment中实现这个接口,然后根据position更新对应的子页面控件的监听。 ```java viewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() { @Override public void ...
4. **父节点(Parent Node)**:拥有子节点的节点。 5. **展开/折叠(Expand/Collapse)**:用户可以通过点击节点来展开或折叠其子节点,以显示或隐藏更多信息。 ### 二、核心功能 1. **多级展示**:jQuery Tree...
在.NET框架中,尤其是ASP.NET或WinForms应用中,我们经常需要处理页面间或自定义控件与页面之间的数据传递。这个过程对于构建交互性强、功能丰富的用户界面至关重要。"模式窗体页面传值"这一主题主要关注的是如何在...
AutoJs源码-遍历子控件b。本资源购买前提醒:本源码都是实际autojs项目模板,安装好autojs直接运行即可打开。1、支持低版本autojs。2、资源仅供学习与参考,请勿用于商业用途,否则产生的一切后果将由您自己承担!。...
在Web开发中,有时我们需要在父页面与嵌入的iframe子页面之间进行交互,例如获取子页面中的某些参数或控制子页面的行为。以下将详细介绍如何在父页面中获取子页面参数的方法。 首先,你需要在父页面上创建一个`...
- **子页面的本质**:设计好的子页面实际上是一个完整的Qt类,可以看作是一个自定义的控件(例如一个QWidget)。 - **子页面的设计**:使用Qt Designer设计工具来完成子页面的UI设计,并导出相应的`.ui`文件及对应的...
为了解决这个问题,可以将MDI子窗体转换成标签页面的形式,通过TabControl控件来实现。这样既保留了MDI的特性,又提供了更直观、友好的用户界面。 标题中的“C#把MDI子窗体变为标签页面”指的是将原本作为MDI子窗体...
在Web开发中,经常会遇到一个场景:在父页面中打开子页面后,需要在子页面执行某些操作(比如数据提交),然后再刷新父页面中的特定控件数据,同时关闭子页面。在***技术栈中,可以通过特定的JavaScript代码和后端...
其次,"计算子控件"的含义是指程序需要能够识别和处理界面上的所有Lable,不仅包括可见的,还包括可能因滚动条的存在而暂时不可见的部分。这需要对布局管理有深入的理解,以及高效的计算方法,确保即使在滚动过程中...
"子窗体传值给父窗体"是一个常见的交互模式,它涉及到窗体间的通信和事件处理。以下是对这个主题的详细阐述: 1. **子窗体的创建与显示** - 在父窗体中,我们通常会定义一个方法来实例化并显示子窗体。例如,可以...
2. 控件间通信:通过事件机制,子控件可以触发事件,父控件或其他控件可以响应并处理这些事件,实现不同控件间的通信。 总结,ASP.NET用户控件是构建可重用、可维护的Web应用的重要工具,通过合理的设计和使用,...
6. **控件事件的冒泡与隧道化**: 事件有两种传播方式:冒泡(从子控件向父控件)和隧道化(从父控件向子控件)。了解这些机制可以帮助你编写更灵活的事件处理代码。 7. **服务器端与客户端事件**: ASP.NET控件不仅...
`treeview.js`是一款基于JavaScript和jQuery的树形控件,常用于构建网页中的层次结构展示,如导航菜单、文件系统目录或组织结构图等。它以其简洁的API和丰富的定制选项,深受前端开发者喜爱。 在JavaScript领域,树...
### ASP.NET TreeView 控件动态加载数据与选中父节点及子节点处理 在ASP.NET Web应用程序中,TreeView 控件是一种非常有用的功能组件,它能够帮助开发者构建出类似目录结构或者层级关系的数据展示界面。本篇文章将...
// 将主窗口设置为事件过滤器,以便监听所有子控件的事件 setAttribute(Qt::WA_Hover, true); installEventFilter(this); // 连接按钮信号和槽,显示自定义Widget connect(button, &QPushButton::clicked, ...
父控件先于子控件创建,子控件的属性可以通过父控件的属性进行设置。 3. 初始化:控件的Init事件触发,此时可以修改控件的属性,但不能添加或删除子控件。 4. 加载:控件的Load事件触发,用于数据绑定和执行其他逻辑...