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

C# 如何将数据从aspx页面传递到aspx模式弹出窗口?,c#,asp.net,asp.net-ajax,C#,Asp.net,Asp.net Ajax,我对ASP.NET还相当陌生,正在努力学习如何操作。我来自C#背景,因此代码隐藏部分很容易,但像web开发人员一样思考是不熟悉的 我有一个aspx页面,其中包含一个复选框网格。我有一个按钮,它是通过一个按钮点击事件来编码的,用来收集一个检查哪些行的列表,并从该列表中创建一个会话变量。我的ascx页面的ModalPopupXtender(控制ascx页面上的面板)引用了相同的按钮(通过TargetControlID) 单击按钮时,会打开模式弹出窗口,但不会触发按钮单击事件,因此模式不会获取其会话数

我对ASP.NET还相当陌生,正在努力学习如何操作。我来自C#背景,因此代码隐藏部分很容易,但像web开发人员一样思考是不熟悉的

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

单击按钮时,会打开模式弹出窗口,但不会触发按钮单击事件,因此模式不会获取其会话数据

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


有什么想法吗?

对不起,我很困惑。你不能直接给ascx打电话,所以

是您在同一页面内调用的模式代码,如隐藏面板等


或者是您在单击事件中调用的另一个aspx页面?

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

在用Bambon的答案进行了一些研究之后,我找到了如何使其工作。
我的aspx页面中对我的aspx页面的引用示例:

<uc1:ChildPage ID="MyModalPage" runat="server" />
AjaxControlToolkit.ModalPopupExtender mpe = 
    (AjaxControlToolkit.ModalPopupExtender) 
          MyModalPage.FindControl("modalPopup");
mpe.Show();