如何将数据从aspx页面传递到ascx模式弹出窗口?

Eri*_*k B 5 c# asp.net asp.net-ajax

我是ASP.NET的新手,并试图了解事情是如何完成的.我来自C#背景,因此代码隐藏部分很容易,但是像Web开发人员一样思考是不熟悉的.

我有一个包含复选框网格的aspx页面.我有一个按钮,通过Button_Click事件编码,以收集检查哪些行的列表,并从该列表中创建一个会话变量.我的ascx页面的ModalPopupExtender引用了相同的按钮(通过TargetControlID),它控制了ascx页面上的面板.

单击该按钮时,模式弹出窗口将打开,但Button_Click事件永远不会被触发,因此模态不会获取其会话数据.

由于这两个页面是分开的,我不能从aspx.cs代码调用ModalPopupExtender,我无法从ascx.cs代码到达复选框列表,我也看不到填充会话变量的方法然后以编程方式激活其他一些隐藏的按钮或控件,然后打开我的模态弹出窗口.

有什么想法吗?

Dan*_*boo 3

所有 usercontrol(.ascx) 文件都是一组控件,您将它们组合在一起以提供一些可重用的功能。在页面生命周期中,其中定义的控件仍会添加到页面的控件集合 (.aspx) 中。ModalPopupExtender 使用 javascript 和 dhtml 来显示和隐藏用户控件客户端中的控件。您所看到的是,点击事件由 ModalPoupExtender 在客户端处理,并且取消了到服务器的回发。这是设计的默认行为。您当然可以从用户控件的代码隐藏中访问页面的控件集合,因为它都是同一控件树的一部分。只需使用任何控件的 FindControl(xxx) 方法即可搜索所需的子控件。